SequencedEventDatabase

Trait SequencedEventDatabase 

Source
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§

Required Methods§

Source

fn new( db: Arc<Self::DatabaseType>, table_name: &'static str, ) -> Result<Self, Self::Error>
where Self: Sized,

Source

fn insert( &self, identifier: &IdentifierPrefix, sn: u64, digest: &SelfAddressingIdentifier, ) -> Result<(), Self::Error>

Source

fn get( &self, identifier: &IdentifierPrefix, sn: u64, ) -> Result<Self::DigestIter, Self::Error>

Source

fn get_greater_than( &self, identifier: &IdentifierPrefix, sn: u64, ) -> Result<Self::DigestIter, Self::Error>

Source

fn remove( &self, identifier: &IdentifierPrefix, sn: u64, said: &SelfAddressingIdentifier, ) -> Result<(), Self::Error>

Implementors§