pub struct PhantomPacket {
pub header: PacketHeader,
pub payload: Vec<u8>,
pub extensions: Vec<u8>,
}Expand description
Full packet with header and payload — the single on-wire data packet.
Fields§
§header: PacketHeaderPacket header (45 bytes)
payload: Vec<u8>Encrypted payload (or coalesced bundle if COALESCED flag set)
extensions: Vec<u8>TLV headroom for forward-compatible amendments (packet-number / SACK
fields) without a layout change. Old peers deserialize this as an empty
Vec and ignore it.
Implementations§
Source§impl PhantomPacket
impl PhantomPacket
Sourcepub fn new(header: PacketHeader, payload: Vec<u8>) -> Self
pub fn new(header: PacketHeader, payload: Vec<u8>) -> Self
Create a new packet (extensions empty by default)
Sourcepub fn ack(
session_id: SessionId,
stream_id: StreamId,
ack_sequence: SequenceNumber,
) -> Self
pub fn ack( session_id: SessionId, stream_id: StreamId, ack_sequence: SequenceNumber, ) -> Self
Create an ACK packet: ACK flag only, empty payload, unencrypted.
Sourcepub fn wire_size(&self) -> usize
pub fn wire_size(&self) -> usize
Total wire size including extensions and the two u32 length prefixes.
Trait Implementations§
Source§impl Clone for PhantomPacket
impl Clone for PhantomPacket
Source§fn clone(&self) -> PhantomPacket
fn clone(&self) -> PhantomPacket
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for PhantomPacket
impl Debug for PhantomPacket
impl Eq for PhantomPacket
Source§impl PartialEq for PhantomPacket
impl PartialEq for PhantomPacket
Source§fn eq(&self, other: &PhantomPacket) -> bool
fn eq(&self, other: &PhantomPacket) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for PhantomPacket
Auto Trait Implementations§
impl Freeze for PhantomPacket
impl RefUnwindSafe for PhantomPacket
impl Send for PhantomPacket
impl Sync for PhantomPacket
impl Unpin for PhantomPacket
impl UnsafeUnpin for PhantomPacket
impl UnwindSafe for PhantomPacket
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