- Notifications
You must be signed in to change notification settings - Fork16
kurrent-io/KurrentDB-Client-Rust
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Official RustKurrentDB rust gRPC gRPC Client.
KurrentDB is the event-native database, where business events are immutably stored and streamed. Designed for event-sourced, event-driven, and microservices architectures.
This client is compatible with version20.6.1
upwards and works on Linux, MacOS and Windows.
Server setup instructions can be found hereKurrentDB Docs, follow the docker setup for the simplest configuration.
use kurrentdb::{Client,EventData};use serde::{Serialize,Deserialize};#[derive(Serialize,Deserialize,Debug)]structFoo{is_rust_a_nice_language:bool,}#[tokio::main]asyncfnmain() ->Result<(),Box<dyn std::error::Error>>{// Creates a client settings for a single node configuration.let settings ="kurrentdb://admin:changeit@localhost:2113".parse()?;let client =Client::new(settings)?;let payload =Foo{is_rust_a_nice_language:true,};// It is not mandatory to use JSON as a data format however KurrentDB// provides great additional value if you do so.let evt =EventData::json("language-poll",&payload)?; client.append_to_stream("language-stream",&Default::default(), evt).await?;letmut stream = client.read_stream("language-stream",&Default::default()).await?;whileletSome(event) = stream.next().await?{let event = event.get_original_event().as_json::<Foo>()?;// Do something productive with the result.println!("{:?}", event);}Ok(())}
Information on support can be found here:KurrentDB Support
Documentation for KurrentDB can be found here:KurrentDB Docs
Bear in mind that this client is not yet properly documented. We are working hard on a new version of the documentation.
About
KurrentDB Rust Client
Topics
Resources
License
Security policy
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.
Languages
- Rust100.0%