Trait diem_secure_storage::KVStorage [−][src]
pub trait KVStorage {
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>;
fn reset_and_clear(&mut self) -> 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
Returns an error if the backend service is not online and available.
fn get<T: DeserializeOwned>(&self, key: &str) -> Result<GetResponse<T>, Error>
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.
Sets a value in storage and fails if the backend is unavailable or the process has invalid permissions.
fn reset_and_clear(&mut self) -> Result<(), Error>
fn reset_and_clear(&mut self) -> Result<(), Error>
Resets and clears all data held in the storage engine. Note: this should only be exposed and used for testing. Resetting the storage engine is not something that should be supported in production.