pub trait Topic {
// Required methods
fn get_env(&self) -> &Env;
fn get_db(&self) -> Database;
// Provided methods
fn lag(&self) -> Result<u64, Error> { ... }
fn inc(
&self,
txn: &mut RwTransaction<'_>,
key: &[u8],
delta: u64,
) -> Result<(), Error> { ... }
fn replace(
&self,
txn: &mut RwTransaction<'_>,
key: &[u8],
value: u64,
) -> Result<(), Error> { ... }
fn get_tail<TXN>(db: Database, txn: &TXN) -> Result<(u64, u64), Error>
where TXN: Transaction { ... }
fn get_value<TXN>(db: Database, txn: &TXN, key: &[u8]) -> Result<u64, Error>
where TXN: Transaction { ... }
}Required Methods§
Provided Methods§
fn lag(&self) -> Result<u64, Error>
fn inc( &self, txn: &mut RwTransaction<'_>, key: &[u8], delta: u64, ) -> Result<(), Error>
fn replace( &self, txn: &mut RwTransaction<'_>, key: &[u8], value: u64, ) -> Result<(), Error>
fn get_tail<TXN>(db: Database, txn: &TXN) -> Result<(u64, u64), Error>where
TXN: Transaction,
fn get_value<TXN>(db: Database, txn: &TXN, key: &[u8]) -> Result<u64, Error>where
TXN: Transaction,
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.