Stroming

A set of traits for reading from and writing to a stream store, together with an in-memory implementation. This project is mostly academic.

View docs View crate

Use

toml [dependencies] stroming = "0.0.5"

```rust let mut store = MemoryStreamStore::new(); let data = r#"{"test": "data"}"#.asbytes().tovec(); let msg = Message { messagetype: "TestMessage".toowned(), data, };

let _ = store.writetostream("TestStream-1", StreamVersion::NoStream, &[msg]);

let (version, messages) = store.readfromstream("TestStream-1", ReadDirection::Forwards);

asserteq!(version, StreamVersion::Revision(0)); asserteq!(messages.len(), 1); asserteq!(messages[0].messagetype, "TestMessage"); ```

License

MIT