pub struct Ack<AckRanges> {
pub ack_delay: VarInt,
pub ack_ranges: AckRanges,
pub ecn_counts: Option<EcnCounts>,
}Fields
ack_delay: VarIntA variable-length integer representing the time delta in microseconds between when this ACK was sent and when the largest acknowledged packet, as indicated in the Largest Acknowledged field, was received by this peer
ack_ranges: AckRangesContains additional ranges of packets which are alternately not acknowledged (Gap) and acknowledged (ACK Range)
ecn_counts: Option<EcnCounts>ECN Counts
Implementations
Trait Implementations
sourceimpl<AckRanges> AckElicitable for Ack<AckRanges>
impl<AckRanges> AckElicitable for Ack<AckRanges>
fn ack_elicitation(&self) -> AckElicitation
sourceimpl<AckRanges> CongestionControlled for Ack<AckRanges>
impl<AckRanges> CongestionControlled for Ack<AckRanges>
fn is_congestion_controlled(&self) -> bool
sourceimpl<'a> DecoderParameterizedValue<'a> for Ack<AckRangesDecoder<'a>>
impl<'a> DecoderParameterizedValue<'a> for Ack<AckRangesDecoder<'a>>
type Parameter = u8
fn decode_parameterized(
tag: Self::Parameter,
buffer: DecoderBuffer<'a>
) -> DecoderBufferResult<'a, Self>
sourceimpl<'a> DecoderParameterizedValueMut<'a> for Ack<AckRangesDecoder<'a>>
impl<'a> DecoderParameterizedValueMut<'a> for Ack<AckRangesDecoder<'a>>
type Parameter = u8
fn decode_parameterized_mut(
tag: Self::Parameter,
buffer: DecoderBufferMut<'a>
) -> DecoderBufferMutResult<'a, Self>
sourceimpl<A: AckRanges> EncoderValue for Ack<A>
impl<A: AckRanges> EncoderValue for Ack<A>
sourcefn encode_mut<E>(&mut self, encoder: &mut E) where
E: Encoder,
fn encode_mut<E>(&mut self, encoder: &mut E) where
E: Encoder,
Encodes the value into the encoder, while potentially mutating the value itself
sourcefn encoding_size(&self) -> usize
fn encoding_size(&self) -> usize
Returns the encoding size with no buffer constrains
sourcefn encoding_size_for_encoder<E>(&self, encoder: &E) -> usize where
E: Encoder,
fn encoding_size_for_encoder<E>(&self, encoder: &E) -> usize where
E: Encoder,
Returns the encoding size for the given encoder’s capacity
impl<AckRanges: Eq> Eq for Ack<AckRanges>
impl<AckRanges> StructuralEq for Ack<AckRanges>
impl<AckRanges> StructuralPartialEq for Ack<AckRanges>
Auto Trait Implementations
impl<AckRanges> RefUnwindSafe for Ack<AckRanges> where
AckRanges: RefUnwindSafe,
impl<AckRanges> Send for Ack<AckRanges> where
AckRanges: Send,
impl<AckRanges> Sync for Ack<AckRanges> where
AckRanges: Sync,
impl<AckRanges> Unpin for Ack<AckRanges> where
AckRanges: Unpin,
impl<AckRanges> UnwindSafe for Ack<AckRanges> where
AckRanges: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> PacketPayloadEncoder for T where
T: EncoderValue,
impl<T> PacketPayloadEncoder for T where
T: EncoderValue,
sourcefn encoding_size_hint<E>(&mut self, encoder: &E, minimum_len: usize) -> usize where
E: Encoder,
fn encoding_size_hint<E>(&mut self, encoder: &E, minimum_len: usize) -> usize where
E: Encoder,
Returns an estimate of the encoding size of the payload. This may be inaccurate from what actually is encoded. Estimates should be less than or equal to what is actually written. Implementations can return 0 to skip encoding. Read more