diff --git a/README.md b/README.md index 03e548ae6f476f4c95aec9f20cc2df1ea97ab999..a50ae09d251b867be647eb7ea0c9e8a54c8b4a82 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.