pub struct SecureFrame {
pub length: u32,
pub frame_type: u8,
pub sequence: u64,
pub payload: Vec<u8>,
pub auth_tag: [u8; 16],
}Expand description
Message framing for secure transport
Fields§
§length: u32Frame length
frame_type: u8Frame type
sequence: u64Sequence number
payload: Vec<u8>Payload (encrypted)
auth_tag: [u8; 16]Authentication tag
Implementations§
Source§impl SecureFrame
impl SecureFrame
Sourcepub const MAX_FRAME_SIZE: u32
pub const MAX_FRAME_SIZE: u32
Maximum frame size (16MB)
Sourcepub const HEADER_SIZE: usize
pub const HEADER_SIZE: usize
Frame header size
Sourcepub fn from_bytes(bytes: &[u8]) -> Result<Self, TransportError>
pub fn from_bytes(bytes: &[u8]) -> Result<Self, TransportError>
Deserialize frame from bytes
Trait Implementations§
Source§impl Clone for SecureFrame
impl Clone for SecureFrame
Auto Trait Implementations§
impl Freeze for SecureFrame
impl RefUnwindSafe for SecureFrame
impl Send for SecureFrame
impl Sync for SecureFrame
impl Unpin for SecureFrame
impl UnsafeUnpin for SecureFrame
impl UnwindSafe for SecureFrame
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> ErasedDestructor for Twhere
T: 'static,
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