pub struct Acknowledgement {
pub sequence_number: u16,
pub arrived: bool,
pub arrival: Option<Duration>,
pub ecn: Ecn,
}Expand description
One packet’s fate, as reported by the receiver.
arrival is a Duration rather than an Instant because it is measured on the
receiver’s clock, which this endpoint has no way to align with its own. Only differences
between arrivals are meaningful, and those are what congestion control actually reads: the
spread between send spacing and arrival spacing is the delay the path is imposing.
Each feedback format supplies its own epoch — TWCC’s 24-bit reference time, RFC 8888’s report timestamp — and both advance monotonically, so arrivals stay comparable across successive reports of the same format. They are not comparable between formats.
Fields§
§sequence_number: u16The sequence number this refers to. TWCC numbers packets itself; RFC 8888 uses the RTP sequence number of the stream it names.
arrived: boolWhether the receiver got it.
arrival: Option<Duration>When it arrived, on the receiver’s clock. None for a packet that did not arrive, or one
reported as received without a usable arrival time.
ecn: EcnThe ECN marking the receiver observed. TWCC cannot carry this and always reports NotEct.
Implementations§
Trait Implementations§
Source§impl Clone for Acknowledgement
impl Clone for Acknowledgement
Source§fn clone(&self) -> Acknowledgement
fn clone(&self) -> Acknowledgement
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more