pub trait KVStorage {
    // Required methods
    fn available(&self) -> Result<(), Error>;
    fn get<T: DeserializeOwned>(
        &self,
        key: &str
    ) -> Result<GetResponse<T>, Error>;
    fn set<T: Serialize>(&mut self, key: &str, value: T) -> Result<(), Error>;
}
Expand description

A secure key/value storage engine. Create takes a policy that is enforced internally by the actual backend. The policy contains public identities that the backend can translate into a unique and private token for another service. Hence get and set internally will pass the current service private token to the backend to gain its permissions.

Required Methods§

source

fn available(&self) -> Result<(), Error>

Returns an error if the backend service is not online and available.

source

fn get<T: DeserializeOwned>(&self, key: &str) -> Result<GetResponse<T>, Error>

Retrieves a value from storage and fails if the backend is unavailable or the process has invalid permissions.

source

fn set<T: Serialize>(&mut self, key: &str, value: T) -> Result<(), Error>

Sets a value in storage and fails if the backend is unavailable or the process has invalid permissions.

Object Safety§

This trait is not object safe.

Implementors§