diff --git a/README.md b/README.md index a50ae09d251b867be647eb7ea0c9e8a54c8b4a82..581f648bb8d1ffe6a96ddbecf5de1256128c497d 100644 --- a/README.md +++ b/README.md @@ -62,17 +62,20 @@ executed. Execution of a `Cmd` means only that the log segment delimited is added to `ClientReply`. ### The Log -The log will be a totally ordered list of strings, each in one of the following three formats: +The log will be a totally ordered list of strings, each in one of the following four formats: ``` 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 ``` -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. +The first two formats define reads and writes in the log, while the last two are commit +and abort records. + +A "client id" is something you make up in your input strings. For instance, if you are +running two instances of `transactionalClient.go` (both talking to +replica 0), you might type "1,1,w,k,v" into the first and "2,1,w,k,v" into the +second. These writes are in different transactions. ## Part 1: Serializable Transactions