pub struct EncryptedBlobs { /* private fields */ }Expand description
A BlobStore that seals payloads under a scope’s data key.
One instance per erasure scope — a case, a tenant, whatever the deployment destroys as a unit. The scope is fixed at construction on purpose: a store that took it per call would let one payload land in the wrong erasure unit, and the mistake would only surface when an erasure came back incomplete.
Implementations§
Trait Implementations§
Source§impl BlobStore for EncryptedBlobs
impl BlobStore for EncryptedBlobs
Source§fn put<'life0, 'life1, 'async_trait>(
&'life0 self,
bytes: &'life1 [u8],
) -> Pin<Box<dyn Future<Output = Result<Digest, BlobError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn put<'life0, 'life1, 'async_trait>(
&'life0 self,
bytes: &'life1 [u8],
) -> Pin<Box<dyn Future<Output = Result<Digest, BlobError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Store bytes and return the address they landed at. Read more
Source§fn get<'life0, 'async_trait>(
&'life0 self,
digest: Digest,
) -> Pin<Box<dyn Future<Output = Result<Vec<u8>, BlobError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get<'life0, 'async_trait>(
&'life0 self,
digest: Digest,
) -> Pin<Box<dyn Future<Output = Result<Vec<u8>, BlobError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Fetch bytes, verifying them against the address before returning. Read more
Source§fn put_at<'life0, 'life1, 'async_trait>(
&'life0 self,
digest: Digest,
_bytes: &'life1 [u8],
) -> Pin<Box<dyn Future<Output = Result<(), BlobError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn put_at<'life0, 'life1, 'async_trait>(
&'life0 self,
digest: Digest,
_bytes: &'life1 [u8],
) -> Pin<Box<dyn Future<Output = Result<(), BlobError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Store bytes at an address that is not their own digest. Read more
Source§fn get_raw<'life0, 'async_trait>(
&'life0 self,
digest: Digest,
) -> Pin<Box<dyn Future<Output = Result<Vec<u8>, BlobError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_raw<'life0, 'async_trait>(
&'life0 self,
digest: Digest,
) -> Pin<Box<dyn Future<Output = Result<Vec<u8>, BlobError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Fetch exactly what is stored, without verifying it against the address. Read more
Source§fn expire<'life0, 'life1, 'async_trait>(
&'life0 self,
digest: Digest,
at: Timestamp,
reason: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<(), BlobError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn expire<'life0, 'life1, 'async_trait>(
&'life0 self,
digest: Digest,
at: Timestamp,
reason: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<(), BlobError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Drop a blob’s bytes, leaving a tombstone that says it was deliberate. Read more
Auto Trait Implementations§
impl !RefUnwindSafe for EncryptedBlobs
impl !UnwindSafe for EncryptedBlobs
impl Freeze for EncryptedBlobs
impl Send for EncryptedBlobs
impl Sync for EncryptedBlobs
impl Unpin for EncryptedBlobs
impl UnsafeUnpin for EncryptedBlobs
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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 moreCreates a shared type from an unshared type.