feat(client): implement DSCP negotiation and socket traffic class application

Apply the negotiated DSCP value to the UDP socket after a successful session open and clear it before closing to support network-level quality of service. This change adds platform-specific socket option handling for IPv4 TOS and IPv6 Traffic Class.
This commit is contained in:
Nils Andreas Svee committed 2026-05-10 20:56:43 +07:00
1 parent ab95489f20
commit 063214b83b
8 files changed
+419 -1

No files matched your search

+6
View File
@@ -8,6 +8,12 @@ pub enum ClientError {
Resolve { addr: String },
#[error("socket error: {0}")]
Socket(#[from] io::Error),
#[error("socket option error while trying to {operation} for {remote}: {source}")]
SocketOption {
operation: &'static str,
remote: std::net::SocketAddr,
source: io::Error,
},
#[error("protocol error: {0}")]
Protocol(#[from] irtt_proto::ProtoError),
#[error("all open requests timed out")]