@@ -8,7 +8,7 @@ use std::sync::{Arc, Mutex};
88use qlog:: {
99 events:: {
1010 Event , EventData ,
11- quic:: { PacketHeader , PacketLost , PacketLostTrigger , PacketType } ,
11+ quic:: { PacketHeader , PacketLost , PacketLostTrigger , PacketSent , PacketType } ,
1212 } ,
1313 streamer:: QlogStreamer ,
1414} ;
@@ -98,7 +98,7 @@ impl QlogSink {
9898 let event = PacketLost {
9999 header : Some ( PacketHeader {
100100 packet_number : Some ( pn) ,
101- packet_type : packet_type ( space) ,
101+ packet_type : packet_type ( space, false ) ,
102102 length : Some ( info. size ) ,
103103 ..Default :: default ( )
104104 } ) ,
@@ -112,6 +112,35 @@ impl QlogSink {
112112 stream. emit_event ( orig_rem_cid, EventData :: PacketLost ( event) , now) ;
113113 }
114114 }
115+
116+ pub ( super ) fn emit_packet_sent (
117+ & self ,
118+ pn : u64 ,
119+ len : usize ,
120+ space : SpaceId ,
121+ is_0rtt : bool ,
122+ now : Instant ,
123+ orig_rem_cid : ConnectionId ,
124+ ) {
125+ #[ cfg( feature = "qlog" ) ]
126+ {
127+ let Some ( stream) = self . stream . as_ref ( ) else {
128+ return ;
129+ } ;
130+
131+ let event = PacketSent {
132+ header : PacketHeader {
133+ packet_number : Some ( pn) ,
134+ packet_type : packet_type ( space, is_0rtt) ,
135+ length : Some ( len as u16 ) ,
136+ ..Default :: default ( )
137+ } ,
138+ ..Default :: default ( )
139+ } ;
140+
141+ stream. emit_event ( orig_rem_cid, EventData :: PacketSent ( event) , now) ;
142+ }
143+ }
115144}
116145
117146#[ cfg( feature = "qlog" ) ]
@@ -122,10 +151,11 @@ impl From<Option<QlogStream>> for QlogSink {
122151}
123152
124153#[ cfg( feature = "qlog" ) ]
125- fn packet_type ( space : SpaceId ) -> PacketType {
154+ fn packet_type ( space : SpaceId , is_0rtt : bool ) -> PacketType {
126155 match space {
127156 SpaceId :: Initial => PacketType :: Initial ,
128157 SpaceId :: Handshake => PacketType :: Handshake ,
158+ SpaceId :: Data if is_0rtt => PacketType :: ZeroRtt ,
129159 SpaceId :: Data => PacketType :: OneRtt ,
130160 }
131161}
0 commit comments