Struct akd::directory::Directory [−][src]
pub struct Directory<S> { /* fields omitted */ }
Expand description
The representation of a auditable key directory
Implementations
Creates a new (stateless) instance of a auditable key directory. Takes as input a pointer to the storage being used for this instance. The state is stored in the storage.
Updates the directory to include the updated key-value pairs.
Provides proof for correctness of latest version
pub async fn key_history<H: Hasher>(
&self,
uname: &AkdKey
) -> Result<HistoryProof<H>, AkdError>
pub async fn key_history<H: Hasher>(
&self,
uname: &AkdKey
) -> Result<HistoryProof<H>, AkdError>
Takes in the current state of the server and a label. If the label is present in the current state, this function returns all the values ever associated with it, and the epoch at which each value was first committed to the server state. It also returns the proof of the latest version being served at all times.
Returns an AppendOnlyProof for the leaves inserted into the underlying tree between the epochs audit_start_ep and audit_end_ep.
Retrieves the current azks
Gets the azks root hash at the provided epoch. Note that the root hash should exist at any epoch that the azks existed, so as long as epoch >= 0, we should be fine.
Trait Implementations
Auto Trait Implementations
impl<S> RefUnwindSafe for Directory<S> where
S: RefUnwindSafe,
impl<S> UnwindSafe for Directory<S> where
S: UnwindSafe,
Blanket Implementations
Mutably borrows from an owned value. Read more