Skip to content

Commit 955c1ac

Browse files
committed
Emit qlog PacketReceived events
1 parent 4890170 commit 955c1ac

File tree

2 files changed

+38
-1
lines changed

2 files changed

+38
-1
lines changed

quinn-proto/src/connection/mod.rs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1934,6 +1934,14 @@ impl Connection {
19341934
// Update outgoing spin bit, inverting iff we're the client
19351935
self.spin = self.side.is_client() ^ spin;
19361936
}
1937+
1938+
self.config.qlog_sink.emit_packet_received(
1939+
packet,
1940+
space_id,
1941+
!is_1rtt,
1942+
now,
1943+
self.orig_rem_cid,
1944+
);
19371945
}
19381946

19391947
fn reset_idle_timeout(&mut self, now: Instant, space: SpaceId) {

quinn-proto/src/connection/qlog.rs

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,9 @@ use std::sync::{Arc, Mutex};
88
use qlog::{
99
events::{
1010
Event, EventData,
11-
quic::{PacketHeader, PacketLost, PacketLostTrigger, PacketSent, PacketType},
11+
quic::{
12+
PacketHeader, PacketLost, PacketLostTrigger, PacketReceived, PacketSent, PacketType,
13+
},
1214
},
1315
streamer::QlogStreamer,
1416
};
@@ -141,6 +143,33 @@ impl QlogSink {
141143
stream.emit_event(orig_rem_cid, EventData::PacketSent(event), now);
142144
}
143145
}
146+
147+
pub(super) fn emit_packet_received(
148+
&self,
149+
pn: u64,
150+
space: SpaceId,
151+
is_0rtt: bool,
152+
now: Instant,
153+
orig_rem_cid: ConnectionId,
154+
) {
155+
#[cfg(feature = "qlog")]
156+
{
157+
let Some(stream) = self.stream.as_ref() else {
158+
return;
159+
};
160+
161+
let event = PacketReceived {
162+
header: PacketHeader {
163+
packet_number: Some(pn),
164+
packet_type: packet_type(space, is_0rtt),
165+
..Default::default()
166+
},
167+
..Default::default()
168+
};
169+
170+
stream.emit_event(orig_rem_cid, EventData::PacketReceived(event), now);
171+
}
172+
}
144173
}
145174

146175
#[cfg(feature = "qlog")]

0 commit comments

Comments
 (0)