quic: parse ack frame number 3

cf rfc9000 section 19.3. ACK Frames

Ticket: 7556
pull/12631/head
Philippe Antoine 2 weeks ago committed by Victor Julien
parent ee04d667b5
commit 68adc87bd2

@ -198,6 +198,14 @@ fn parse_ack_frame(input: &[u8]) -> IResult<&[u8], Frame, QuicError> {
))
}
fn parse_ack3_frame(input: &[u8]) -> IResult<&[u8], Frame, QuicError> {
let (rest, ack) = parse_ack_frame(input)?;
let (rest, _ect0_count) = quic_var_uint(rest)?;
let (rest, _ect1_count) = quic_var_uint(rest)?;
let (rest, _ecn_count) = quic_var_uint(rest)?;
Ok((rest, ack))
}
#[derive(Clone, Debug, PartialEq, Eq)]
pub struct QuicTlsExtension {
pub etype: TlsExtensionType,
@ -531,6 +539,7 @@ impl Frame {
0x00 => parse_padding_frame(rest)?,
0x01 => (rest, Frame::Ping),
0x02 => parse_ack_frame(rest)?,
0x03 => parse_ack3_frame(rest)?,
0x06 => parse_crypto_frame(rest)?,
0x08 => parse_crypto_stream_frame(rest)?,
_ => ([].as_ref(), Frame::Unknown(rest.to_vec())),

Loading…
Cancel
Save