Distributed file system
A client–server file system where multiple clients stay in sync with a central store over gRPC, built against gRPC compiled from source.
- Five RPCs for fetch, store, list, stat and delete, with streaming for large files
- Write locks so concurrent clients can't clobber each other's changes
- CRC32 checksums to skip transferring files the other side already has
- Async callbacks that push server-side changes to every connected client
- Tracked down a static-initialization segfault and fixed it with an explicit library initializer
