I’m happy to announce the first release of the Rust TCP client.
This version supports all GetEventStore 4.* features already:
- Write events.
- Read events (including $all stream).
- Read/Write stream metadata.
- Delete stream.
- Volatile Subscriptions.
- Catchup Subscriptions ($all included)
- Persistent Subscriptions.
What’s still in WIP:
Cluster connection (the base is there, but I need to write the boring HTTP internal communication)
SSL (0% done on this, but it’s rather easy to do)
Unlike my Haskell TCP client, this client is not used in production in the projects or companies I’m working with. So
it hasn’t been battlefield-tested yet. The reasons for its creation were learning Rust first of all. Also, I’m planning
on a project targetting ARM architecture and I wanted my favorite database with me. Unfortunately, my lovely Haskell
cannot provide the real-time guarantees I will need.
The source code is available here: https://code.coppermine.io/eventsourcing/rust-ges.
I hope this library will be useful to somebody else. I’m planning on maintaining it as much as
my Haskell TCP client, and also invite anybody to contribute to this project.