pub trait EncryptedDataStore: Default + Serialize {
// Provided methods
fn open<P>(db: P, password: &str) -> Result<EncryptedAtomicDatabase<Self>>
where P: AsRef<Path>,
Self: DeserializeOwned { ... }
fn load_encrypted(file: impl Read, key: &Key<Aes256Gcm>) -> Result<Self>
where Self: Sized + DeserializeOwned { ... }
fn save_encrypted(
&self,
file: impl Write,
key: &Key<Aes256Gcm>,
salt: &[u8],
) -> Result<()>
where Self: Serialize { ... }
}Expand description
This trait needs to be implemented for the Database struct. It requires a few implementations. The defined functions have default implementations.
Provided Methods§
sourcefn open<P>(db: P, password: &str) -> Result<EncryptedAtomicDatabase<Self>>
fn open<P>(db: P, password: &str) -> Result<EncryptedAtomicDatabase<Self>>
Opens a Database by the specified path and password. If the Database doesn’t exist,
this will create a new one! Wrap a Arc<_> around it to use it in parallel contexts!
sourcefn load_encrypted(file: impl Read, key: &Key<Aes256Gcm>) -> Result<Self>where
Self: Sized + DeserializeOwned,
fn load_encrypted(file: impl Read, key: &Key<Aes256Gcm>) -> Result<Self>where
Self: Sized + DeserializeOwned,
Loads file data into the Database after decrypting it.
Object Safety§
This trait is not object safe.