diff --git a/README.md b/README.md index 82c403b074c28f124ebd27abc16b94d873e26ca3..fc05b275c0ae09c7791bfc86f340260b21de7062 100644 --- a/README.md +++ b/README.md @@ -110,6 +110,14 @@ log abstraction in `replica.go` ## Use of the `transactionalClient` +Your `transactionalClient.go` takes several arguments (see code), but the two important ones +are: +- `-p` - tells your code to do two things: + - write a commit/abort notification for each transaction as it's fate is decided + - at end-of-text write out the contents of your KV store, ordered lexicographically by key value. Only + written values need be printed. +- `-s` use snapshot isolation instead serializable isolation + `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 are: @@ -122,14 +130,6 @@ store and committed transactions. ## Testing -Your `transactionalClient.go` takes several arguments (see code), but the two important ones -are: -- `-p` - tells your code to do two things: - - write a commit/abort notification for each transaction as it's fate is decided - - at end-of-text write out the contents of your KV store, ordered lexicographically by key value. Only - written values need be printed. -- `-s` use snapshot isolation instead serializable isolation - ### Strict Serializability I will run the replica set as `run.rb 3`, and the client as `go run transactionalClient.go -p` or `go run transactionalClient.go -p -s`.