#[repr(C)]pub struct SentPacket {
pub header: Header,
pub source_address: SocketAddr,
pub destination_address: SocketAddr,
pub packet_number: u64,
pub packet_number_len: u8,
pub ack_elliciting: bool,
pub in_flight: bool,
pub sent_bytes: usize,
pub time_sent: Instant,
}
Expand description
A SentPacket as defined by quic-recovery, Section A.1.1. This has the difference that this structure is not only used for recovery purpose, but also during the whole process of packet sending.
Fields§
§header: Header
The header of the packet being sent.
source_address: SocketAddr
The source address used by this packet.
destination_address: SocketAddr
The destination address used by this packet.
packet_number: u64
The packet number of the sent packet.
packet_number_len: u8
The length of the packet number endoded in the header.
ack_elliciting: bool
Is this packet ack-elliciting? If true, it is expected that an acknowledgment with be received, though the peer could delay sending the ACK frame containing it up to the max_ack_delay.
in_flight: bool
Does this packet counts towards bytes in flight?
sent_bytes: usize
The number of bytes sent in this packet, not including UDP or IP overhead, but including QUIC framing overhead.
time_sent: Instant
The time the packet was sent, relative to the beginning of the session.
Trait Implementations§
Source§impl Clone for SentPacket
impl Clone for SentPacket
Source§fn clone(&self) -> SentPacket
fn clone(&self) -> SentPacket
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for SentPacket
impl Debug for SentPacket
Source§impl<'de> Deserialize<'de> for SentPacket
impl<'de> Deserialize<'de> for SentPacket
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<SentPacket, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<SentPacket, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl Serialize for SentPacket
impl Serialize for SentPacket
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Auto Trait Implementations§
impl Freeze for SentPacket
impl RefUnwindSafe for SentPacket
impl Send for SentPacket
impl Sync for SentPacket
impl Unpin for SentPacket
impl UnwindSafe for SentPacket
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
out
indicating that a T
is niched.