From d1de5a5490f1c57e1e9271f25860d03fee1ea1a5 Mon Sep 17 00:00:00 2001
From: keleher <keleher@cs.umd.edu>
Date: Sat, 30 Nov 2019 17:35:56 -0500
Subject: [PATCH] auto

---
 README.md | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/README.md b/README.md
index 03e548a..a50ae09 100644
--- a/README.md
+++ b/README.md
@@ -64,12 +64,15 @@ added to `ClientReply`.
 ### The Log
 The log will be a totally ordered list of strings, each in one of the following three formats:
 ```
-        string = <rep id>,<transaction id>,w,<key>,<value>
-        string = <rep id>,<transaction id>,r,<key>
-        string = <rep id>,<transaction id>,commit
-        string = <rep id>,<transaction id>,abort
+        string = <client id>,<transaction id>,w,<key>,<value>
+        string = <client id>,<transaction id>,r,<key>
+        string = <client id>,<transaction id>,commit
+        string = <client id>,<transaction id>,abort
 ```
-The first two define reads and writes in the log, while the last is a commit record.
+A "client id" is something you make up in your input strings. For instance, you can be
+running two instances of `transactionalClient.go` at the same time (both talking to
+replica 0). The strings you type into each of the clients should have different client ids.
+The first two record formats define reads and writes in the log, while the last is a commit record.
 
 ## Part 1: Serializable Transactions
 
@@ -106,7 +109,7 @@ log abstraction in `replica.go`
 ## Use of the `transactionalClient` 
 `transactionalClient.go` differs from `client.go` in that it reads commands
 interactively. Once started, it reads commands (arbitrary strings) from STDIN
-and sends them to replica 0. The sole exceptions is:
+and sends them to replica 0. The sole exception is:
 - `pause <n>` is interpreted as a command to pause for `n` seconds.
 
 All other strings are sent to the replica.
-- 
GitLab