pub struct TrafficShapingConfig {
pub padding: PaddingPolicy,
pub jitter_ms: u32,
pub cover_interval_ms: u32,
}std only.Expand description
Anti-fingerprint traffic-shaping configuration (WIRE v6, direction #4). Set on
an established session via PhantomSession::set_traffic_shaping. All
shaping is opt-in — the default (and the field defaults here) is no shaping,
so a session pays nothing unless an embedder enables it.
Currently carries the size-padding policy (deliverable (c)); the timing-jitter (d) and cover-traffic (e) knobs will be added as further fields in later phases. Padding hides the datagram size; it costs bounded (≈ ≤12% worst-case) extra bandwidth.
Fields§
§padding: PaddingPolicySize-padding policy. PaddingPolicy::None (default) = no padding;
PaddingPolicy::Padme = pad each packet up to a PADÉ bucket.
jitter_ms: u32Send-timing jitter ceiling in milliseconds (deliverable (d)). 0 (default)
= no jitter; otherwise each packet waits a uniform random [0, jitter_ms]
ms before it is sent, so the inter-packet timing no longer tracks the
application’s writes — at a cost of up to jitter_ms of added latency.
cover_interval_ms: u32Cover-traffic floor interval in milliseconds (deliverable (e)). 0
(default) = no cover traffic; otherwise the session maintains a minimum
outbound packet rate of 1000 / cover_interval_ms packets/sec, emitting an
encrypted dummy (COVER) packet whenever no packet has gone out for
cover_interval_ms — hiding idle/active patterns and volume, at a steady
bandwidth cost. A typical value is 100–500 ms (10–2 packets/sec).
Trait Implementations§
Source§impl Clone for TrafficShapingConfig
impl Clone for TrafficShapingConfig
Source§fn clone(&self) -> TrafficShapingConfig
fn clone(&self) -> TrafficShapingConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<UT> ConvertError<UT> for TrafficShapingConfig
impl<UT> ConvertError<UT> for TrafficShapingConfig
fn try_convert_unexpected_callback_error( e: UnexpectedUniFFICallbackError, ) -> Result<Self>
impl Copy for TrafficShapingConfig
Source§impl Debug for TrafficShapingConfig
impl Debug for TrafficShapingConfig
Source§impl Default for TrafficShapingConfig
impl Default for TrafficShapingConfig
Source§fn default() -> TrafficShapingConfig
fn default() -> TrafficShapingConfig
impl Eq for TrafficShapingConfig
Source§impl<UT> FfiConverter<UT> for TrafficShapingConfig
Available on crate feature bindings only.
impl<UT> FfiConverter<UT> for TrafficShapingConfig
bindings only.