pub struct EncryptionManager { /* private fields */ }Expand description
Encryption manager for transparent encryption at rest
Implementations§
Source§impl EncryptionManager
impl EncryptionManager
Sourcepub fn new(config: EncryptionConfig) -> Result<Arc<Self>>
pub fn new(config: EncryptionConfig) -> Result<Arc<Self>>
Create a new encryption manager
Sourcepub fn disabled() -> Arc<DisabledEncryption>
pub fn disabled() -> Arc<DisabledEncryption>
Create a no-op encryption manager for when encryption is disabled
Sourcepub fn is_enabled(&self) -> bool
pub fn is_enabled(&self) -> bool
Check if encryption is enabled
Sourcepub fn key_version(&self) -> u32
pub fn key_version(&self) -> u32
Get current key version
Sourcepub fn encrypt(&self, plaintext: &[u8], lsn: u64) -> Result<Vec<u8>>
pub fn encrypt(&self, plaintext: &[u8], lsn: u64) -> Result<Vec<u8>>
Encrypt data with associated LSN for nonce derivation
Sourcepub fn encrypted_size(&self, plaintext_len: usize) -> usize
pub fn encrypted_size(&self, plaintext_len: usize) -> usize
Calculate encrypted size for given plaintext size
Trait Implementations§
Source§impl Debug for EncryptionManager
impl Debug for EncryptionManager
Auto Trait Implementations§
impl !Freeze for EncryptionManager
impl RefUnwindSafe for EncryptionManager
impl Send for EncryptionManager
impl Sync for EncryptionManager
impl Unpin for EncryptionManager
impl UnwindSafe for EncryptionManager
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more