pub struct OutfoxPacket { /* private fields */ }Implementations§
Source§impl OutfoxPacket
impl OutfoxPacket
pub fn recover_plaintext(&self) -> Result<Vec<u8>, OutfoxError>
pub fn len(&self) -> usize
pub fn is_empty(&self) -> bool
pub fn to_bytes(&self) -> Result<Vec<u8>, OutfoxError>
pub fn build<M>( payload: M, route: &[Node; 4], destination: &Destination, packet_size: Option<usize>, ) -> Result<OutfoxPacket, OutfoxError>
pub fn stage_params( &self, layer_number: usize, ) -> (Range<usize>, MixStageParameters)
pub fn mix_params(&self) -> &MixCreationParameters
pub fn payload(&self) -> &[u8] ⓘ
pub fn payload_range(&self) -> Range<usize>
pub fn payload_mut(&mut self) -> &mut [u8] ⓘ
pub fn decode_mix_layer( &mut self, layer: usize, mix_secret_key: &StaticSecret, ) -> Result<Vec<u8>, OutfoxError>
pub fn update_routing_information( &mut self, layer: usize, ) -> Result<(), TryFromSliceError>
pub fn is_final_hop(&self) -> bool
pub fn decode_next_layer( &mut self, mix_secret_key: &StaticSecret, ) -> Result<[u8; 32], OutfoxError>
Trait Implementations§
Source§impl Debug for OutfoxPacket
impl Debug for OutfoxPacket
Source§impl TryFrom<&[u8]> for OutfoxPacket
impl TryFrom<&[u8]> for OutfoxPacket
Source§type Error = OutfoxError
type Error = OutfoxError
The type returned in the event of a conversion error.
Source§fn try_from(
v: &[u8],
) -> Result<OutfoxPacket, <OutfoxPacket as TryFrom<&[u8]>>::Error>
fn try_from( v: &[u8], ) -> Result<OutfoxPacket, <OutfoxPacket as TryFrom<&[u8]>>::Error>
Performs the conversion.
Auto Trait Implementations§
impl Freeze for OutfoxPacket
impl RefUnwindSafe for OutfoxPacket
impl Send for OutfoxPacket
impl Sync for OutfoxPacket
impl Unpin for OutfoxPacket
impl UnwindSafe for OutfoxPacket
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.