Trait diem_secure_storage::KVStorage
source · 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>;
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§
sourcefn available(&self) -> Result<(), Error>
fn available(&self) -> Result<(), Error>
Returns an error if the backend service is not online and available.
sourcefn 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.
sourcefn set<T: Serialize>(&mut self, key: &str, value: T) -> Result<(), Error>
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.
sourcefn 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.