From e19b3f0ca5d4f8630496f89fbd5c544859131b5c Mon Sep 17 00:00:00 2001 From: Lars Eggert Date: Fri, 31 Jan 2025 08:17:42 +0200 Subject: [PATCH] chore: Derive `default` gor a bunch of types Which either (IMO) have a natural default, or that only consist of `Option`s. This makes initialization of these types less verbose for the user. --- qlog/src/events/quic.rs | 46 +++++++++++++++++++++-------------------- 1 file changed, 24 insertions(+), 22 deletions(-) diff --git a/qlog/src/events/quic.rs b/qlog/src/events/quic.rs index 522037fe2d..1738fc10b1 100644 --- a/qlog/src/events/quic.rs +++ b/qlog/src/events/quic.rs @@ -37,7 +37,7 @@ use super::Token; use crate::HexSlice; use crate::StatelessResetToken; -#[derive(Serialize, Deserialize, Clone, PartialEq, Eq, Debug)] +#[derive(Serialize, Deserialize, Clone, PartialEq, Eq, Debug, Default)] #[serde(rename_all = "snake_case")] pub enum PacketType { Initial, @@ -51,6 +51,7 @@ pub enum PacketType { Retry, VersionNegotiation, + #[default] Unknown, } @@ -63,7 +64,7 @@ pub enum PacketNumberSpace { } #[serde_with::skip_serializing_none] -#[derive(Clone, Serialize, Deserialize, PartialEq, Eq, Debug)] +#[derive(Clone, Serialize, Deserialize, PartialEq, Eq, Debug, Default)] pub struct PacketHeader { pub packet_type: PacketType, pub packet_number: Option, @@ -347,7 +348,7 @@ pub enum AckedRanges { Double(Vec<(u64, u64)>), } -#[derive(Serialize, Deserialize, Clone, PartialEq, Eq, Debug)] +#[derive(Serialize, Deserialize, Clone, PartialEq, Eq, Debug, Default)] #[serde(rename_all = "snake_case")] pub enum QuicFrameTypeName { Padding, @@ -372,6 +373,7 @@ pub enum QuicFrameTypeName { ApplicationClose, HandshakeDone, Datagram, + #[default] Unknown, } @@ -526,7 +528,7 @@ pub struct PreferredAddress { } #[serde_with::skip_serializing_none] -#[derive(Serialize, Deserialize, Clone, PartialEq, Eq, Debug)] +#[derive(Serialize, Deserialize, Clone, PartialEq, Eq, Debug, Default)] pub struct VersionInformation { pub server_versions: Option>, pub client_versions: Option>, @@ -534,7 +536,7 @@ pub struct VersionInformation { } #[serde_with::skip_serializing_none] -#[derive(Serialize, Deserialize, Clone, PartialEq, Eq, Debug)] +#[derive(Serialize, Deserialize, Clone, PartialEq, Eq, Debug, Default)] pub struct AlpnInformation { pub server_alpns: Option>, pub client_alpns: Option>, @@ -542,7 +544,7 @@ pub struct AlpnInformation { } #[serde_with::skip_serializing_none] -#[derive(Serialize, Deserialize, Clone, PartialEq, Eq, Debug)] +#[derive(Serialize, Deserialize, Clone, PartialEq, Eq, Debug, Default)] pub struct TransportParametersSet { pub owner: Option, @@ -582,7 +584,7 @@ pub struct UnknownTransportParameter { } #[serde_with::skip_serializing_none] -#[derive(Serialize, Deserialize, Clone, PartialEq, Eq, Debug)] +#[derive(Serialize, Deserialize, Clone, PartialEq, Eq, Debug, Default)] pub struct TransportParametersRestored { pub disable_active_migration: Option, @@ -599,7 +601,7 @@ pub struct TransportParametersRestored { } #[serde_with::skip_serializing_none] -#[derive(Serialize, Deserialize, Clone, PartialEq, Eq, Debug)] +#[derive(Serialize, Deserialize, Clone, PartialEq, Eq, Debug, Default)] pub struct DatagramsReceived { pub count: Option, @@ -609,7 +611,7 @@ pub struct DatagramsReceived { } #[serde_with::skip_serializing_none] -#[derive(Serialize, Deserialize, Clone, PartialEq, Eq, Debug)] +#[derive(Serialize, Deserialize, Clone, PartialEq, Eq, Debug, Default)] pub struct DatagramsSent { pub count: Option, @@ -619,13 +621,13 @@ pub struct DatagramsSent { } #[serde_with::skip_serializing_none] -#[derive(Serialize, Deserialize, Clone, PartialEq, Eq, Debug)] +#[derive(Serialize, Deserialize, Clone, PartialEq, Eq, Debug, Default)] pub struct DatagramDropped { pub raw: Option, } #[serde_with::skip_serializing_none] -#[derive(Serialize, Deserialize, Clone, PartialEq, Debug)] +#[derive(Serialize, Deserialize, Clone, PartialEq, Debug, Default)] pub struct PacketReceived { pub header: PacketHeader, // `frames` is defined here in the QLog schema specification. However, @@ -648,7 +650,7 @@ pub struct PacketReceived { } #[serde_with::skip_serializing_none] -#[derive(Serialize, Deserialize, Clone, PartialEq, Debug)] +#[derive(Serialize, Deserialize, Clone, PartialEq, Debug, Default)] pub struct PacketSent { pub header: PacketHeader, // `frames` is defined here in the QLog schema specification. However, @@ -673,7 +675,7 @@ pub struct PacketSent { } #[serde_with::skip_serializing_none] -#[derive(Serialize, Deserialize, Clone, PartialEq, Eq, Debug)] +#[derive(Serialize, Deserialize, Clone, PartialEq, Eq, Debug, Default)] pub struct PacketDropped { pub header: Option, @@ -686,7 +688,7 @@ pub struct PacketDropped { } #[serde_with::skip_serializing_none] -#[derive(Serialize, Deserialize, Clone, PartialEq, Eq, Debug)] +#[derive(Serialize, Deserialize, Clone, PartialEq, Eq, Debug, Default)] pub struct PacketBuffered { pub header: Option, @@ -697,7 +699,7 @@ pub struct PacketBuffered { } #[serde_with::skip_serializing_none] -#[derive(Serialize, Deserialize, Clone, PartialEq, Eq, Debug)] +#[derive(Serialize, Deserialize, Clone, PartialEq, Eq, Debug, Default)] pub struct PacketsAcked { pub packet_number_space: Option, pub packet_numbers: Option>, @@ -716,7 +718,7 @@ pub struct StreamStateUpdated { } #[serde_with::skip_serializing_none] -#[derive(Serialize, Deserialize, Clone, PartialEq, Debug)] +#[derive(Serialize, Deserialize, Clone, PartialEq, Debug, Default)] pub struct FramesProcessed { pub frames: Vec, @@ -724,7 +726,7 @@ pub struct FramesProcessed { } #[serde_with::skip_serializing_none] -#[derive(Serialize, Deserialize, Clone, PartialEq, Eq, Debug)] +#[derive(Serialize, Deserialize, Clone, PartialEq, Eq, Debug, Default)] pub struct DataMoved { pub stream_id: Option, pub offset: Option, @@ -737,7 +739,7 @@ pub struct DataMoved { } #[serde_with::skip_serializing_none] -#[derive(Serialize, Deserialize, Clone, PartialEq, Debug)] +#[derive(Serialize, Deserialize, Clone, PartialEq, Debug, Default)] pub struct RecoveryParametersSet { pub reordering_threshold: Option, pub time_threshold: Option, @@ -752,7 +754,7 @@ pub struct RecoveryParametersSet { } #[serde_with::skip_serializing_none] -#[derive(Serialize, Deserialize, Clone, PartialEq, Debug)] +#[derive(Serialize, Deserialize, Clone, PartialEq, Debug, Default)] pub struct MetricsUpdated { pub min_rtt: Option, pub smoothed_rtt: Option, @@ -773,7 +775,7 @@ pub struct MetricsUpdated { } #[serde_with::skip_serializing_none] -#[derive(Serialize, Deserialize, Clone, PartialEq, Eq, Debug)] +#[derive(Serialize, Deserialize, Clone, PartialEq, Eq, Debug, Default)] pub struct CongestionStateUpdated { pub old: Option, pub new: String, @@ -793,7 +795,7 @@ pub struct LossTimerUpdated { } #[serde_with::skip_serializing_none] -#[derive(Serialize, Deserialize, Clone, PartialEq, Debug)] +#[derive(Serialize, Deserialize, Clone, PartialEq, Debug, Default)] pub struct PacketLost { pub header: Option, @@ -803,7 +805,7 @@ pub struct PacketLost { } #[serde_with::skip_serializing_none] -#[derive(Serialize, Deserialize, Clone, PartialEq, Debug)] +#[derive(Serialize, Deserialize, Clone, PartialEq, Debug, Default)] pub struct MarkedForRetransmit { pub frames: Vec, }