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>;
}