pub trait SequencedEventDatabase: Send + Sync {
type DatabaseType;
type Error;
type DigestIter: Iterator<Item = SelfAddressingIdentifier>;
// Required methods
fn new(
db: Arc<Self::DatabaseType>,
table_name: &'static str,
) -> Result<Self, Self::Error>
where Self: Sized;
fn insert(
&self,
identifier: &IdentifierPrefix,
sn: u64,
digest: &SelfAddressingIdentifier,
) -> Result<(), Self::Error>;
fn get(
&self,
identifier: &IdentifierPrefix,
sn: u64,
) -> Result<Self::DigestIter, Self::Error>;
fn get_greater_than(
&self,
identifier: &IdentifierPrefix,
sn: u64,
) -> Result<Self::DigestIter, Self::Error>;
fn remove(
&self,
identifier: &IdentifierPrefix,
sn: u64,
said: &SelfAddressingIdentifier,
) -> Result<(), Self::Error>;
}Required Associated Types§
type DatabaseType
type Error
type DigestIter: Iterator<Item = SelfAddressingIdentifier>
Required Methods§
fn new(
db: Arc<Self::DatabaseType>,
table_name: &'static str,
) -> Result<Self, Self::Error>where
Self: Sized,
fn insert( &self, identifier: &IdentifierPrefix, sn: u64, digest: &SelfAddressingIdentifier, ) -> Result<(), Self::Error>
fn get( &self, identifier: &IdentifierPrefix, sn: u64, ) -> Result<Self::DigestIter, Self::Error>
fn get_greater_than( &self, identifier: &IdentifierPrefix, sn: u64, ) -> Result<Self::DigestIter, Self::Error>
fn remove( &self, identifier: &IdentifierPrefix, sn: u64, said: &SelfAddressingIdentifier, ) -> Result<(), Self::Error>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".