A networked key-value store. This was implemented for the Bradfield School of Computer Science Distributed Systems class.
make shell # Pull the test environment docker container
cd shriek # Enter the workspace
make server # Makes client, creates a test message, creates server, reads message, and executes behavior.
The docs/
subdirectory has all planned features and versions documented, as well as documentation
for each version of the protocol.
At the beginning of class, we were asked to pick a specific use case or existing K/V store to model our projects on - I chose Amazon Dynamo.
See PROTOCOL.md
.
- Brian "Beej Jorgensen" Hall for his immortal guide to network programming; I copied some of his code snippets for my initial networking-related functions.
- rxi's logging library
- Werner Vogels et. al. for the Dynamo whitepaper
- Oz and Elliott for their constructive feedback and code reviews during the Bradfield course