diff --git a/qlog/src/events/quic.rs b/qlog/src/events/quic.rs index a7c1fa3225..b5e9c6cdf9 100644 --- a/qlog/src/events/quic.rs +++ b/qlog/src/events/quic.rs @@ -646,11 +646,18 @@ pub struct PacketSent { pub trigger: Option, - pub send_at_time: Option, + #[serde(flatten)] + pub extension: PacketSentExtension, pub frames: Option>, } +#[serde_with::skip_serializing_none] +#[derive(Serialize, Deserialize, Clone, PartialEq, Debug)] +pub struct PacketSentExtension { + pub send_at_time: Option, +} + #[serde_with::skip_serializing_none] #[derive(Serialize, Deserialize, Clone, PartialEq, Eq, Debug)] pub struct PacketDropped { diff --git a/qlog/src/lib.rs b/qlog/src/lib.rs index 68ff278fcd..92235ceef1 100644 --- a/qlog/src/lib.rs +++ b/qlog/src/lib.rs @@ -141,7 +141,9 @@ //! supported_versions: None, //! raw: Some(raw), //! datagram_id: None, -//! send_at_time: None, +//! extension: qlog::events::quic::PacketSentExtension { +//! send_at_time: None, +//! }, //! trigger: None, //! }); //! @@ -345,7 +347,9 @@ //! supported_versions: None, //! raw: None, //! datagram_id: None, -//! send_at_time: None, +//! extension: qlog::events::quic::PacketSentExtension { +//! send_at_time: None, +//! }, //! trigger: None, //! }); //! @@ -718,6 +722,7 @@ pub mod testing { mod tests { use super::*; use crate::events::quic::PacketSent; + use crate::events::quic::PacketSentExtension; use crate::events::quic::PacketType; use crate::events::quic::QuicFrame; use crate::events::EventData; @@ -760,7 +765,7 @@ mod tests { data: None, }), datagram_id: None, - send_at_time: None, + extension: PacketSentExtension { send_at_time: None }, trigger: None, }); @@ -830,7 +835,7 @@ mod tests { data: None, }), datagram_id: None, - send_at_time: None, + extension: PacketSentExtension { send_at_time: None }, trigger: None, }); @@ -950,7 +955,7 @@ mod tests { data: None, }), datagram_id: None, - send_at_time: None, + extension: PacketSentExtension { send_at_time: None }, trigger: None, }); diff --git a/qlog/src/streamer.rs b/qlog/src/streamer.rs index 16761b3a67..4624b09fca 100644 --- a/qlog/src/streamer.rs +++ b/qlog/src/streamer.rs @@ -265,6 +265,7 @@ mod tests { use super::*; use crate::events::quic; + use crate::events::quic::PacketSentExtension; use crate::events::quic::QuicFrame; use crate::events::RawInfo; use smallvec::smallvec; @@ -303,7 +304,7 @@ mod tests { supported_versions: None, raw: raw.clone(), datagram_id: None, - send_at_time: None, + extension: PacketSentExtension { send_at_time: None }, trigger: None, }); @@ -334,7 +335,7 @@ mod tests { supported_versions: None, raw: raw.clone(), datagram_id: None, - send_at_time: None, + extension: PacketSentExtension { send_at_time: None }, trigger: None, }); @@ -349,7 +350,7 @@ mod tests { supported_versions: None, raw, datagram_id: None, - send_at_time: None, + extension: PacketSentExtension { send_at_time: None }, trigger: None, }); @@ -478,7 +479,7 @@ mod tests { supported_versions: None, raw: raw.clone(), datagram_id: None, - send_at_time: None, + extension: PacketSentExtension { send_at_time: None }, trigger: None, }); let j1 = json!({"foo": "Bar", "hello": 123}); @@ -506,7 +507,7 @@ mod tests { supported_versions: None, raw: raw.clone(), datagram_id: None, - send_at_time: None, + extension: PacketSentExtension { send_at_time: None }, trigger: None, }); diff --git a/quiche/src/lib.rs b/quiche/src/lib.rs index ef1946080b..6ec616d493 100644 --- a/quiche/src/lib.rs +++ b/quiche/src/lib.rs @@ -4456,7 +4456,10 @@ impl Connection { supported_versions: None, raw: Some(qlog_raw_info), datagram_id: None, - send_at_time: Some(send_at_time), + extension: qlog::events::quic::PacketSentExtension { + send_at_time: Some(send_at_time), + }, + trigger: None, });