Struct WithContext
pub struct WithContext<'context, D = EncryptedRecord> {
pub context: Cow<'context, [Context]>,
pub record: D,
}Fields§
§context: Cow<'context, [Context]>§record: DTrait Implementations§
§impl<'context, D: Debug> Debug for WithContext<'context, D>
impl<'context, D: Debug> Debug for WithContext<'context, D>
§impl<'context, D: Decryptable> Decryptable for WithContext<'context, D>
impl<'context, D: Decryptable> Decryptable for WithContext<'context, D>
type Error = <D as Decryptable>::Error
§fn retrieve_key_payload<'a>(
&'a self,
) -> Result<RetrieveKeyPayload<'a>, Self::Error>
fn retrieve_key_payload<'a>( &'a self, ) -> Result<RetrieveKeyPayload<'a>, Self::Error>
The payload used to retrieve the key for decryption.
§fn into_encrypted_record(self) -> Result<EncryptedRecord, Self::Error>
fn into_encrypted_record(self) -> Result<EncryptedRecord, Self::Error>
Convert the record into an EncryptedRecord.
§fn nonce_override(&self) -> Option<[u8; 12]>
fn nonce_override(&self) -> Option<[u8; 12]>
The explicit AEAD nonce for this record, when the wire format derives
it from something other than the data key’s IV. SteVec entries under
the envelope wire format derive it from the entry’s stored selector
(
nonce = selector_bytes[..12]); classic records return None and
decrypt with the IV-derived nonce.§fn aad_selector(&self) -> Option<[u8; 16]>
fn aad_selector(&self) -> Option<[u8; 16]>
The full 16-byte tokenized selector to bind into the AEAD AAD, when the
wire format ties the ciphertext to a selector. The nonce only covers the
first 12 selector bytes, so binding all 16 here authenticates the whole
selector — a stored selector cannot be mutated (even in its last 4
bytes) without the entry failing to decrypt. SteVec entries return their
selector; classic records return
None and add nothing to the AAD.§impl<'de, 'context, D> Deserialize<'de> for WithContext<'context, D>where
D: Deserialize<'de>,
impl<'de, 'context, D> Deserialize<'de> for WithContext<'context, D>where
D: Deserialize<'de>,
§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
§impl<'a, 'context> From<&'a WithContext<'context>> for RetrieveKeyPayload<'a>
impl<'a, 'context> From<&'a WithContext<'context>> for RetrieveKeyPayload<'a>
§fn from(with_context: &'a WithContext<'_>) -> Self
fn from(with_context: &'a WithContext<'_>) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl<'context, D> Freeze for WithContext<'context, D>where
D: Freeze,
impl<'context, D> RefUnwindSafe for WithContext<'context, D>where
D: RefUnwindSafe,
impl<'context, D> Send for WithContext<'context, D>where
D: Send,
impl<'context, D> Sync for WithContext<'context, D>where
D: Sync,
impl<'context, D> Unpin for WithContext<'context, D>where
D: Unpin,
impl<'context, D> UnsafeUnpin for WithContext<'context, D>where
D: UnsafeUnpin,
impl<'context, D> UnwindSafe for WithContext<'context, D>where
D: UnwindSafe,
Blanket Implementations§
impl<T> AuthStrategyBounds for T
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<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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