aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/frame.rs7
-rw-r--r--tools/qlog/src/events/quic.rs9
2 files changed, 13 insertions, 3 deletions
diff --git a/src/frame.rs b/src/frame.rs
index 8c6fd80a..1f32152f 100644
--- a/src/frame.rs
+++ b/src/frame.rs
@@ -33,6 +33,8 @@ use crate::ranges;
use crate::stream;
#[cfg(feature = "qlog")]
+use qlog::events::quic::AckedRanges;
+#[cfg(feature = "qlog")]
use qlog::events::quic::ErrorSpace;
#[cfg(feature = "qlog")]
use qlog::events::quic::QuicFrame;
@@ -797,8 +799,9 @@ impl Frame {
ranges,
ecn_counts,
} => {
- let ack_ranges =
- ranges.iter().map(|r| (r.start, r.end - 1)).collect();
+ let ack_ranges = AckedRanges::Double(
+ ranges.iter().map(|r| (r.start, r.end - 1)).collect(),
+ );
let (ect0, ect1, ce) = match ecn_counts {
Some(ecn) => (
diff --git a/tools/qlog/src/events/quic.rs b/tools/qlog/src/events/quic.rs
index 78893795..2ee022bc 100644
--- a/tools/qlog/src/events/quic.rs
+++ b/tools/qlog/src/events/quic.rs
@@ -309,6 +309,13 @@ pub enum TimerType {
}
#[derive(Serialize, Deserialize, Clone, PartialEq, Debug)]
+#[serde(untagged)]
+pub enum AckedRanges {
+ Single(Vec<Vec<u64>>),
+ Double(Vec<(u64, u64)>),
+}
+
+#[derive(Serialize, Deserialize, Clone, PartialEq, Debug)]
#[serde(rename_all = "snake_case")]
pub enum QuicFrameTypeName {
Padding,
@@ -351,7 +358,7 @@ pub enum QuicFrame {
Ack {
ack_delay: Option<f32>,
- acked_ranges: Option<Vec<(u64, u64)>>,
+ acked_ranges: Option<AckedRanges>,
ect1: Option<u64>,