EscrowDatabase

Trait EscrowDatabase 

Source
pub trait EscrowDatabase: Send + Sync {
    type EscrowDatabaseType;
    type LogDatabaseType;
    type Error;
    type EventIter: Iterator<Item = SignedEventMessage>;

    // Required methods
    fn new(
        escrow: Arc<dyn SequencedEventDatabase<DatabaseType = Self::EscrowDatabaseType, Error = Self::Error, DigestIter = Box<dyn Iterator<Item = SelfAddressingIdentifier>>>>,
        log: Arc<Self::LogDatabaseType>,
    ) -> Self
       where Self: Sized;
    fn save_digest(
        &self,
        id: &IdentifierPrefix,
        sn: u64,
        event_digest: &SelfAddressingIdentifier,
    ) -> Result<(), Self::Error>;
    fn insert(&self, event: &SignedEventMessage) -> Result<(), Self::Error>;
    fn insert_key_value(
        &self,
        id: &IdentifierPrefix,
        sn: u64,
        event: &SignedEventMessage,
    ) -> Result<(), Self::Error>;
    fn get(
        &self,
        identifier: &IdentifierPrefix,
        sn: u64,
    ) -> Result<Self::EventIter, Self::Error>;
    fn get_from_sn(
        &self,
        identifier: &IdentifierPrefix,
        sn: u64,
    ) -> Result<Self::EventIter, Self::Error>;
    fn remove(&self, event: &KeriEvent<KeyEvent>);
    fn contains(
        &self,
        id: &IdentifierPrefix,
        sn: u64,
        digest: &SelfAddressingIdentifier,
    ) -> Result<bool, Self::Error>;
}

Required Associated Types§

Required Methods§

Source

fn new( escrow: Arc<dyn SequencedEventDatabase<DatabaseType = Self::EscrowDatabaseType, Error = Self::Error, DigestIter = Box<dyn Iterator<Item = SelfAddressingIdentifier>>>>, log: Arc<Self::LogDatabaseType>, ) -> Self
where Self: Sized,

Source

fn save_digest( &self, id: &IdentifierPrefix, sn: u64, event_digest: &SelfAddressingIdentifier, ) -> Result<(), Self::Error>

Source

fn insert(&self, event: &SignedEventMessage) -> Result<(), Self::Error>

Source

fn insert_key_value( &self, id: &IdentifierPrefix, sn: u64, event: &SignedEventMessage, ) -> Result<(), Self::Error>

Source

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

Source

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

Source

fn remove(&self, event: &KeriEvent<KeyEvent>)

Source

fn contains( &self, id: &IdentifierPrefix, sn: u64, digest: &SelfAddressingIdentifier, ) -> Result<bool, Self::Error>

Implementors§