pub struct UnifiedConfig {
pub policy: CodePolicy,
pub symbol_len: usize,
pub k: usize,
pub r: usize,
pub rlc_flow_window: u32,
pub debug_loss: u32,
pub seed: u64,
pub rlc_step: u16,
pub rlc_static: bool,
}Expand description
Construction parameters shared by the unified sender and receiver.
Fields§
§policy: CodePolicyErasure-code selection policy (loss-driven Auto, or a forced code).
symbol_len: usizeItem / symbol size in bytes (matches the application’s record size).
k: usizeReed-Solomon block geometry: k data shards.
r: usizeReed-Solomon base parity shards r (the receiver provisions per loss).
rlc_flow_window: u32RLC sender flow window (outstanding source symbols); 0 = transport default. Size it to the path BDP so RLC fills the pipe (the fair-A/B config; the default caps RLC ~2x below its capability on a high-BDP path).
debug_loss: u32Receiver-side diagnostic loss injection (percent, 0 = off) applied to
BOTH decoders, with seed for reproducibility. Drives the loss-based
switch without a real lossy link.
seed: u64Seed for the reproducible debug_loss drop sequence.
rlc_step: u16RLC repair cadence: one repair every rlc_step source symbols (redundancy
1/(rlc_step+1)). The starting value; the adaptive controller retunes it
per measured loss unless rlc_static pins it.
rlc_static: boolPin the RLC coding parameters (disable the adaptive controller), holding a fixed code rate instead of letting the sensing plane retune window / step / density. The adaptive controller’s disable-on-clean state drops coding entirely on a quiet assessment and then pays an ARQ round trip on the next loss; pinning trades that latency risk for a constant redundancy.
Implementations§
Trait Implementations§
Source§impl Clone for UnifiedConfig
impl Clone for UnifiedConfig
Source§fn clone(&self) -> UnifiedConfig
fn clone(&self) -> UnifiedConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more