pub trait Storage {
    type Error: StorageError + 'static;

    fn get_relation(
        &self,
        issued_for: &PK,
        issued_by: &PK
    ) -> Result<Option<TrustRelation>, Self::Error>; fn get_authorizations(
        &self,
        issued_for: &PK
    ) -> Result<Vec<Auth>, Self::Error>; fn get_revocations(
        &self,
        issued_for: &PK
    ) -> Result<Vec<Revocation>, Self::Error>; fn insert(&mut self, node: TrustRelation) -> Result<(), Self::Error>; fn get_root_weight_factor(
        &self,
        pk: &PK
    ) -> Result<Option<WeightFactor>, Self::Error>; fn set_root_weight_factor(
        &mut self,
        pk: PK,
        weight_factor: WeightFactor
    ) -> Result<(), Self::Error>; fn root_keys(&self) -> Result<Vec<PK>, Self::Error>; fn revoke(&mut self, revocation: Revocation) -> Result<(), Self::Error>; fn update_auth(
        &mut self,
        auth: Auth,
        cur_time: Duration
    ) -> Result<(), Self::Error>; fn remove_expired(
        &mut self,
        current_time: Duration
    ) -> Result<(), Self::Error>; }

Required Associated Types

Required Methods

Implementors