eventstore/eventstoredb-client-rust

EventStoreDB Rust Client

EventStoreDB rust gRPC gRPC Client

Official Rust EventStoreDB rust gRPC gRPC Client.

EventStoreDB is an open-source database built from the ground up for Event Sourcing, with Complex Event Processing in Javascript.

EventStoreDB Server Compatibility

This client is compatible with version 20.6.1 upwards and works on Linux, MacOS and Windows.

Server setup instructions can be found here EventStoreDB Docs, follow the docker setup for the simplest configuration.

Example

Support

Information on support can be found here: EventStoreDB Support

Documentation

Documentation for EventStoreDB can be found here: EventStoreDB Docs

Bear in mind that this client is not yet properly documented. We are working hard on a new version of the documentation.

Community

We have a community discussion space at EventStoreDB Discuss.

Issues

Collection of the latest Issues

GenerallyIntelligent

GenerallyIntelligent

Comment Icon1

TL;DR: Some structs, but most specifically SubscriptionWrite should derive Clone to allow for easy task per event patterns. An example use case with cloning is show here in this gist

While writing some code using the client which needed to be multithreaded, I encountered difficulties with the SubscriptionWrite struct. I was delegating incoming events using tokio::spawn, and then handling them with some internal logic, after which I needed to ack them, but didn't want to send those events back somehow, or have the main thread do the acking at all. Since it looks like this struct is a wrapper for an mpsc::Sender, I thought that I could use the common pattern of giving the task a clone the sender, but Clone is not implemented for SubscriptionWrite

tambeau

tambeau

tier/minimum-viable
Comment Icon0

Persistent Subscriptions API: As defined in RFC Home#550:

  • CreateToStream (Named create_persistent_subscription)
  • CreateToAll
  • Update (Named update_persistent_subscription)
  • UpdateToAll
  • Delete (Named delete_persistent_subscription)
  • DeleteToAll
  • ReplayParkedMessages
  • GetInfo
  • RestartPersistentSubscriptionSubsystem
  • ListAll
  • ListForStream
  • Subscribe - rename connect_persistent_subscription to subscribe_to_persistent_subscription
  • SubscribeToAll
tambeau

tambeau

tier/minimum-viable
Comment Icon0

Streams API: This should eventually be defined in RFC Home#551:

  • AppendToStream
    • Append
    • BatchAppend
    • Append still works with v20.10 of the server
  • Delete - delete_stream should be split into delete_stream and tombstone_stream rather than using an option.
  • Tombstone
  • ReadAll
  • ReadStream
  • SubscribeToAll
    • With Filter
  • SubscribeToStream
  • GetStreamMetadata
  • SetStreamMetadata
Versions

Find the latest versions by id

Information - Updated Dec 13, 2021

Stars: 20
Forks: 7
Issues: 13

Serde is a framework for serializing and deserializing Rust data structures efficiently and generically

Rust Greatest JSON weapon is Serde with over 4.4K stars on github and a massive developer community. This is considered a core Rust library for every developer to learn in BRC's opinion

Serde is a framework for serializing and deserializing Rust data structures efficiently and generically

Rust 버전 JsonPath 구현으로 Webassembly와 Javascript에서도 유사한 API 인터페이스를 제공 한다

JsonPath 구현으로 Webassembly와 Javascript에서도 유사한 API 인터페이스를 제공 한다

Rust 버전 JsonPath 구현으로 Webassembly와 Javascript에서도 유사한 API 인터페이스를 제공 한다

SIMD JSON for Rust  

Rust port of extremely fast serde compatibility

SIMD JSON for Rust  

JSON-E Rust data-struct paramter crate for lightweight embedded content with objects and much more

What makes JSON-e unique is that it extensive documentation and ease of use

JSON-E Rust data-struct paramter crate for lightweight embedded content with objects and much more
JSON

111

A Rust JSON5 serializer and deserializer which speaks Serde

Deserialize a JSON5 string with from_str

A Rust JSON5 serializer and deserializer which speaks Serde

Rust JSON Parser Benchmark

Download and Generate JSON Data

Rust JSON Parser Benchmark

Read JSON values quickly - Rust JSON Parser

AJSON get json value with specified path, such as project

Read JSON values quickly - Rust JSON Parser

Rust actix json request example

Send a json request to actix, and parse it

Rust actix json request example
JSON

140

json_typegen - Rust types from JSON samples

json_typegen is a collection of tools for generating types from

json_typegen - Rust types from JSON samples

Rust JSON parsing benchmarks

This project aims to provide benchmarks to show how various JSON-parsing libraries in the Rust programming language perform at various JSON-parsing tasks

Rust JSON parsing benchmarks

A tiny command line tool written in rust to print json data as a formatted...

A tiny command line tool written in rust to print json data as a formatted table

A tiny command line tool written in rust to print json data as a formatted...

Rust RPC client for Bitcoin Core JSON-RPC

rust-jsonrpc and makes it easier to talk to the Bitcoin JSON-RPC interface

Rust RPC client for Bitcoin Core JSON-RPC
Facebook Instagram Twitter GitHub Dribbble
Privacy