[ANN] Rust TCP Client.


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.
  • Transactions.
  • 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.

The library is available on Crates.io too: https://crates.io/crates/eventstore

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.

Best regards,

Y. Laupa