Struct s2n_quic_core::frame::ack::Ack
source · pub struct Ack<AckRanges> {
pub ack_delay: VarInt,
pub ack_ranges: AckRanges,
pub ecn_counts: Option<EcnCounts>,
}
Fields§
§ack_delay: VarInt
A 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: AckRanges
Contains additional ranges of packets which are alternately not acknowledged (Gap) and acknowledged (ACK Range)
ecn_counts: Option<EcnCounts>
ECN Counts
Implementations§
Trait Implementations§
source§impl<AckRanges> AckElicitable for Ack<AckRanges>
impl<AckRanges> AckElicitable for Ack<AckRanges>
fn ack_elicitation(&self) -> AckElicitation
source§impl<AckRanges> CongestionControlled for Ack<AckRanges>
impl<AckRanges> CongestionControlled for Ack<AckRanges>
fn is_congestion_controlled(&self) -> bool
source§impl<'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>
source§impl<'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>
source§impl<A: AckRanges> EncoderValue for Ack<A>
impl<A: AckRanges> EncoderValue for Ack<A>
source§fn 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
source§fn encoding_size(&self) -> usize
fn encoding_size(&self) -> usize
Returns the encoding size with no buffer constrains
source§fn encoding_size_for_encoder<E>(&self, encoder: &E) -> usizewhere
E: Encoder,
fn encoding_size_for_encoder<E>(&self, encoder: &E) -> usizewhere
E: Encoder,
Returns the encoding size for the given encoder’s capacity
source§fn encode_with_len_prefix<Len, E>(&self, encoder: &mut E)
fn encode_with_len_prefix<Len, E>(&self, encoder: &mut E)
Encodes the value into the encoder with a prefix of
Len
fn encode_to_vec(&self) -> Vec<u8>
source§impl<AckRanges: AckRanges> IntoEvent<Frame> for &Ack<AckRanges>
impl<AckRanges: AckRanges> IntoEvent<Frame> for &Ack<AckRanges>
fn into_event(self) -> Frame
source§impl<AckRanges: PartialEq> PartialEq for Ack<AckRanges>
impl<AckRanges: PartialEq> PartialEq for Ack<AckRanges>
impl<AckRanges: Eq> Eq for Ack<AckRanges>
impl<AckRanges> StructuralPartialEq for Ack<AckRanges>
Auto Trait Implementations§
impl<AckRanges> Freeze for Ack<AckRanges>where
AckRanges: Freeze,
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§
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
source§impl<T> PacketPayloadEncoder for Twhere
T: EncoderValue,
impl<T> PacketPayloadEncoder for Twhere
T: EncoderValue,
source§fn encoding_size_hint<E>(&mut self, encoder: &E, minimum_len: usize) -> usizewhere
E: Encoder,
fn encoding_size_hint<E>(&mut self, encoder: &E, minimum_len: usize) -> usizewhere
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.