Module koit::backend [−][src]
Expand description
Backends persist the database. They allow reading and writing bytes. Bytes-to-data conversion,
and back, is handled by a Format
.
Examples
use std::default::Default; use koit::{Database, format::Json, backend::Memory}; type Messages = Vec<String>; #[tokio::main] async fn main() -> Result<(), Box<dyn std::error::Error>> { let db: Database<Messages, Memory, Json> = Database::from_parts( Messages::default(), Memory::default() ); db.write(|messages| { messages.push("a message".to_owned()); messages.push("from me to you".to_owned()); }).await; db.save().await?; let (_data, mut backend) = db.into_parts(); assert_eq!(&mut backend.take(), br#"[ "a message", "from me to you" ]"# ); Ok(()) }
Structs
File | file-backend A file-backed backend. |
Memory | An in-memory backend. |
Traits
Backend | Trait implementable by bytes storage providers. |