[−][src]Module kv::bincode
The bincode encoding allows for any {de|se}rializable type to be read/written to the database using a ValueBuf, for example:
use serde::{Deserialize, Serialize}; use kv::bincode::Bincode; use kv::{Config, Encoding, Error, Manager, Serde, ValueBuf}; #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] struct Testing { a: i32, b: String } fn run() -> Result<(), Error> { let mut mgr = Manager::new(); let mut cfg = Config::default("/tmp/rust-kv"); let handle = mgr.open(cfg)?; let store = handle.write()?; let bucket = store.bucket::<&str, ValueBuf<Bincode<Testing>>>(None)?; let mut txn = store.write_txn()?; let t = Testing{a: 123, b: "abc".to_owned()}; txn.set( &bucket, "testing", Bincode::to_value_buf(t)?, )?; txn.commit()?; let txn = store.read_txn()?; let buf = txn.get(&bucket, "testing")?; let v = buf.inner()?; println!("{:?}", v.to_serde()); Ok(()) }
Structs
Bincode | An opaque type for Bincode encoding that wraps a Serde-compatible type T. |