pub struct PartiallyUnwrappedPacket { /* private fields */ }Implementations§
Source§impl PartiallyUnwrappedPacket
impl PartiallyUnwrappedPacket
Sourcepub fn new(
received_data: FramedNymPacket,
sphinx_key: &PrivateKey,
) -> Result<Self, (FramedNymPacket, PacketProcessingError)>
pub fn new( received_data: FramedNymPacket, sphinx_key: &PrivateKey, ) -> Result<Self, (FramedNymPacket, PacketProcessingError)>
Attempt to partially unwrap received packet to derive relevant keys to allow us to reject it for obvious bad behaviour (like replay or invalid mac) without performing full processing
pub fn finalise_unwrapping( self, ) -> Result<MixProcessingResult, PacketProcessingError>
pub fn replay_tag(&self) -> Option<&[u8; 32]>
pub fn with_key_rotation( self, used_key_rotation: u32, ) -> PartialyUnwrappedPacketWithKeyRotation
Trait Implementations§
Source§impl From<(FramedNymPacket, PartialMixProcessingResult)> for PartiallyUnwrappedPacket
impl From<(FramedNymPacket, PartialMixProcessingResult)> for PartiallyUnwrappedPacket
Source§fn from(
(received_data, partial_result): (FramedNymPacket, PartialMixProcessingResult),
) -> Self
fn from( (received_data, partial_result): (FramedNymPacket, PartialMixProcessingResult), ) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl Freeze for PartiallyUnwrappedPacket
impl RefUnwindSafe for PartiallyUnwrappedPacket
impl Send for PartiallyUnwrappedPacket
impl Sync for PartiallyUnwrappedPacket
impl Unpin for PartiallyUnwrappedPacket
impl UnwindSafe for PartiallyUnwrappedPacket
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> Deprecatable for T
impl<T> Deprecatable for T
fn deprecate(self) -> Deprecated<Self>where
Self: Sized,
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 moreSource§impl<T> OptionalSet for T
impl<T> OptionalSet for T
Source§fn with_optional<F, T>(self, f: F, val: Option<T>) -> Self
fn with_optional<F, T>(self, f: F, val: Option<T>) -> Self
If the value is available (i.e.
Some), the provided closure is applied.
Otherwise self is returned with no modifications.Source§fn with_validated_optional<F, T, V, E>(
self,
f: F,
value: Option<T>,
validate: V,
) -> Result<Self, E>
fn with_validated_optional<F, T, V, E>( self, f: F, value: Option<T>, validate: V, ) -> Result<Self, E>
If the value is available (i.e.
Some) it is validated and then the provided closure is applied.
Otherwise self is returned with no modifications.Source§fn with_optional_env<F, T>(self, f: F, val: Option<T>, env_var: &str) -> Self
fn with_optional_env<F, T>(self, f: F, val: Option<T>, env_var: &str) -> Self
If the value is available (i.e.
Some), the provided closure is applied.
Otherwise, if the environment was configured and the corresponding variable was set,
the value is parsed using the FromStr implementation and the closure is applied on that instead.
Finally, if none of those were available, self is returned with no modifications.Source§fn with_optional_custom_env<F, T, G>(
self,
f: F,
val: Option<T>,
env_var: &str,
parser: G,
) -> Self
fn with_optional_custom_env<F, T, G>( self, f: F, val: Option<T>, env_var: &str, parser: G, ) -> Self
If the value is available (i.e.
Some), the provided closure is applied.
Otherwise, if the environment was configured and the corresponding variable was set,
the value is parsed using the provided parser and the closure is applied on that instead.
Finally, if none of those were available, self is returned with no modifications.