Skip to content

Commit

Permalink
chore: use qlog defaults inside quiche
Browse files Browse the repository at this point in the history
  • Loading branch information
LPardue authored Feb 5, 2025
1 parent cba5e73 commit 48c1185
Show file tree
Hide file tree
Showing 10 changed files with 57 additions and 125 deletions.
3 changes: 1 addition & 2 deletions h3i/src/client/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -152,9 +152,8 @@ fn handle_qlog(
if let Some(s) = qlog_streamer {
let ev_data = EventData::H3FrameParsed(H3FrameParsed {
stream_id,
length: None,
frame: qlog_frame,
raw: None,
..Default::default()
});

s.add_event_data_now(ev_data).ok();
Expand Down
9 changes: 1 addition & 8 deletions h3i/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -236,15 +236,8 @@ fn fake_packet_header() -> PacketHeader {
fn fake_packet_sent(frames: Option<SmallVec<[QuicFrame; 1]>>) -> EventData {
EventData::PacketSent(PacketSent {
header: fake_packet_header(),
is_coalesced: None,
retry_token: None,
stateless_reset_token: None,
supported_versions: None,
raw: None,
datagram_id: None,
trigger: None,
send_at_time: None,
frames,
..Default::default()
})
}

Expand Down
8 changes: 3 additions & 5 deletions h3i/src/recordreplay/qlog.rs
Original file line number Diff line number Diff line change
Expand Up @@ -88,9 +88,8 @@ impl From<&Action> for QlogEvents {
} => {
let frame_ev = EventData::H3FrameCreated(H3FrameCreated {
stream_id: *stream_id,
length: None,
frame: frame.to_qlog(),
raw: None,
..Default::default()
});

let mut ex = BTreeMap::new();
Expand Down Expand Up @@ -125,9 +124,8 @@ impl From<&Action> for QlogEvents {

let frame_ev = EventData::H3FrameCreated(H3FrameCreated {
stream_id: *stream_id,
length: None,
frame,
raw: None,
..Default::default()
});

let mut ex = BTreeMap::new();
Expand Down Expand Up @@ -171,7 +169,7 @@ impl From<&Action> for QlogEvents {
stream_id: *stream_id,
stream_type: ty,
stream_type_value: ty_val,
associated_push_id: None,
..Default::default()
});
let mut ex = BTreeMap::new();

Expand Down
18 changes: 14 additions & 4 deletions qlog/src/events/h3.rs
Original file line number Diff line number Diff line change
Expand Up @@ -36,13 +36,14 @@ pub enum H3Owner {
Remote,
}

#[derive(Serialize, Deserialize, Clone, PartialEq, Eq, Debug)]
#[derive(Serialize, Deserialize, Clone, PartialEq, Eq, Debug, Default)]
#[serde(rename_all = "snake_case")]
pub enum H3StreamType {
Request,
Control,
Push,
Reserved,
#[default]
Unknown,
QpackEncode,
QpackDecode,
Expand Down Expand Up @@ -177,6 +178,15 @@ pub enum Http3Frame {
},
}

impl Default for Http3Frame {
fn default() -> Self {
Self::Unknown {
frame_type_value: 0,
raw: None,
}
}
}

#[serde_with::skip_serializing_none]
#[derive(Serialize, Deserialize, Clone, PartialEq, Eq, Debug)]
pub struct H3ParametersSet {
Expand Down Expand Up @@ -205,7 +215,7 @@ pub struct H3ParametersRestored {
}

#[serde_with::skip_serializing_none]
#[derive(Serialize, Deserialize, Clone, PartialEq, Eq, Debug)]
#[derive(Serialize, Deserialize, Clone, PartialEq, Eq, Debug, Default)]
pub struct H3StreamTypeSet {
pub owner: Option<H3Owner>,
pub stream_id: u64,
Expand All @@ -215,7 +225,7 @@ pub struct H3StreamTypeSet {
}

#[serde_with::skip_serializing_none]
#[derive(Serialize, Deserialize, Clone, PartialEq, Eq, Debug)]
#[derive(Serialize, Deserialize, Clone, PartialEq, Eq, Debug, Default)]
pub struct H3FrameCreated {
pub stream_id: u64,
pub length: Option<u64>,
Expand All @@ -225,7 +235,7 @@ pub struct H3FrameCreated {
}

#[serde_with::skip_serializing_none]
#[derive(Serialize, Deserialize, Clone, PartialEq, Eq, Debug)]
#[derive(Serialize, Deserialize, Clone, PartialEq, Eq, Debug, Default)]
pub struct H3FrameParsed {
pub stream_id: u64,
pub length: Option<u64>,
Expand Down
7 changes: 5 additions & 2 deletions qlog/src/events/security.rs
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ use serde::Serialize;

use super::Bytes;

#[derive(Serialize, Deserialize, Clone, PartialEq, Eq, Debug)]
#[derive(Serialize, Deserialize, Clone, PartialEq, Eq, Debug, Default)]
#[serde(rename_all = "snake_case")]
pub enum KeyType {
ServerInitialSecret,
Expand All @@ -46,6 +46,9 @@ pub enum KeyType {
Server1RttSecret,
#[serde(rename = "client_1rtt_secret")]
Client1RttSecret,

#[default]
Unknown,
}

#[derive(Serialize, Deserialize, Clone, PartialEq, Eq, Debug)]
Expand All @@ -57,7 +60,7 @@ pub enum KeyUpdateOrRetiredTrigger {
}

#[serde_with::skip_serializing_none]
#[derive(Serialize, Deserialize, Clone, PartialEq, Eq, Debug)]
#[derive(Serialize, Deserialize, Clone, PartialEq, Eq, Debug, Default)]
pub struct KeyUpdated {
pub key_type: KeyType,

Expand Down
25 changes: 3 additions & 22 deletions qlog/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -755,19 +755,12 @@ mod tests {
let pkt_hdr = make_pkt_hdr(PacketType::Initial);
let ev_data = EventData::PacketSent(PacketSent {
header: pkt_hdr,
frames: None,
is_coalesced: None,
retry_token: None,
stateless_reset_token: None,
supported_versions: None,
raw: Some(RawInfo {
length: Some(1251),
payload_length: Some(1224),
data: None,
}),
datagram_id: None,
send_at_time: None,
trigger: None,
..Default::default()
});

let ev = Event::with_time(0.0, ev_data);
Expand Down Expand Up @@ -836,18 +829,12 @@ mod tests {
let ev_data = EventData::PacketSent(PacketSent {
header: pkt_hdr,
frames: Some(frames.into()),
is_coalesced: None,
retry_token: None,
stateless_reset_token: None,
supported_versions: None,
raw: Some(RawInfo {
length: Some(1251),
payload_length: Some(1224),
data: None,
}),
datagram_id: None,
send_at_time: None,
trigger: None,
..Default::default()
});

let ev = Event::with_time(0.0, ev_data);
Expand Down Expand Up @@ -956,18 +943,12 @@ mod tests {
let event_data = EventData::PacketSent(PacketSent {
header: pkt_hdr,
frames: Some(frames.into()),
is_coalesced: None,
retry_token: None,
stateless_reset_token: None,
supported_versions: None,
raw: Some(RawInfo {
length: Some(1251),
payload_length: Some(1224),
data: None,
}),
datagram_id: None,
send_at_time: None,
trigger: None,
..Default::default()
});

let ev = Event::with_time(0.0, event_data);
Expand Down
39 changes: 5 additions & 34 deletions qlog/src/streamer.rs
Original file line number Diff line number Diff line change
Expand Up @@ -395,14 +395,8 @@ mod tests {
let event_data1 = EventData::PacketSent(quic::PacketSent {
header: pkt_hdr.clone(),
frames: Some(smallvec![frame1]),
is_coalesced: None,
retry_token: None,
stateless_reset_token: None,
supported_versions: None,
raw: raw.clone(),
datagram_id: None,
send_at_time: None,
trigger: None,
..Default::default()
});

let ev1 = Event::with_time(0.0, event_data1);
Expand All @@ -426,29 +420,18 @@ mod tests {
let event_data2 = EventData::PacketSent(quic::PacketSent {
header: pkt_hdr.clone(),
frames: Some(smallvec![frame2]),
is_coalesced: None,
retry_token: None,
stateless_reset_token: None,
supported_versions: None,
raw: raw.clone(),
datagram_id: None,
send_at_time: None,
trigger: None,
..Default::default()
});

let ev2 = Event::with_time(0.0, event_data2);

let event_data3 = EventData::PacketSent(quic::PacketSent {
header: pkt_hdr,
frames: Some(smallvec![frame3]),
is_coalesced: None,
retry_token: None,
stateless_reset_token: Some("reset_token".to_string()),
supported_versions: None,
raw,
datagram_id: None,
send_at_time: None,
trigger: None,
..Default::default()
});

let ev3 = Event::with_time(0.0, event_data3);
Expand Down Expand Up @@ -570,14 +553,8 @@ mod tests {
let event_data1 = EventData::PacketSent(quic::PacketSent {
header: pkt_hdr.clone(),
frames: Some(smallvec![frame1]),
is_coalesced: None,
retry_token: None,
stateless_reset_token: None,
supported_versions: None,
raw: raw.clone(),
datagram_id: None,
send_at_time: None,
trigger: None,
..Default::default()
});
let j1 = json!({"foo": "Bar", "hello": 123});
let j2 = json!({"baz": [1,2,3,4]});
Expand All @@ -598,14 +575,8 @@ mod tests {
let event_data2 = EventData::PacketSent(quic::PacketSent {
header: pkt_hdr.clone(),
frames: Some(smallvec![frame2]),
is_coalesced: None,
retry_token: None,
stateless_reset_token: None,
supported_versions: None,
raw: raw.clone(),
datagram_id: None,
send_at_time: None,
trigger: None,
..Default::default()
});

let ev2 = Event::with_time(0.0, event_data2);
Expand Down
Loading

0 comments on commit 48c1185

Please sign in to comment.