#[non_exhaustive]pub enum AckCif {
Full {
last_ack_seq: u32,
rtt_us: u32,
rtt_var_us: u32,
avail_buf_size: u32,
pkt_recv_rate: u32,
est_link_capacity: u32,
recv_rate_bps: u32,
},
Small {
last_ack_seq: u32,
rtt_us: u32,
rtt_var_us: u32,
avail_buf_size: u32,
},
Light {
last_ack_seq: u32,
},
}Expand description
The ACK Control Information Field — its shape (Full/Small/Light) is
selected by which fields are present on the wire (§3.2.4). Data-carrying
ADT: see AckPacket for the label convention rationale.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Full
Full ACK — all seven CIF fields.
Fields
Small
Small ACK — fields up to and including Available Buffer Size.
Fields
Light
Light ACK — only Last Acknowledged Packet Sequence Number.
Trait Implementations§
impl Copy for AckCif
impl Eq for AckCif
impl StructuralPartialEq for AckCif
Auto Trait Implementations§
impl Freeze for AckCif
impl RefUnwindSafe for AckCif
impl Send for AckCif
impl Sync for AckCif
impl Unpin for AckCif
impl UnsafeUnpin for AckCif
impl UnwindSafe for AckCif
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