pub struct EncryptedPeerStorage { /* private fields */ }Expand description
Storage decorator that decrypts blobs for a peer reading an encrypted database directly.
It sits above the segment cache, so the SSD tier holds ciphertext and its existing digest check is unchanged — a cache directory on a shared host is then no more revealing than the object store it mirrors. Root records pass through: they are cleartext everywhere.
Implementations§
Source§impl EncryptedPeerStorage
impl EncryptedPeerStorage
Sourcepub fn new(
storage: Arc<dyn PeerStorage>,
keys: BTreeMap<u32, SecretKey>,
) -> Self
pub fn new( storage: Arc<dyn PeerStorage>, keys: BTreeMap<u32, SecretKey>, ) -> Self
Wraps peer storage with an unwrapped storage-key snapshot.
The snapshot covers every epoch the manifest carries, because a published index may still name leaves written under an epoch that has since been retired.
Trait Implementations§
Source§impl PeerStorage for EncryptedPeerStorage
impl PeerStorage for EncryptedPeerStorage
Auto Trait Implementations§
impl !RefUnwindSafe for EncryptedPeerStorage
impl !UnwindSafe for EncryptedPeerStorage
impl Freeze for EncryptedPeerStorage
impl Send for EncryptedPeerStorage
impl Sync for EncryptedPeerStorage
impl Unpin for EncryptedPeerStorage
impl UnsafeUnpin for EncryptedPeerStorage
Blanket Implementations§
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request