[INFO] fetching crate rat_congestion 0.1.0... [INFO] testing rat_congestion-0.1.0 against master#c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 for pr-146098-8 [INFO] extracting crate rat_congestion 0.1.0 into /workspace/builds/worker-5-tc1/source [INFO] started tweaking crates.io crate rat_congestion 0.1.0 [INFO] removed 0 missing examples [INFO] finished tweaking crates.io crate rat_congestion 0.1.0 [INFO] tweaked toml for crates.io crate rat_congestion 0.1.0 written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate rat_congestion 0.1.0 on toolchain c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate rat_congestion 0.1.0 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 21ff0ec95b8e10dd5e9601b497cf386d85b9f44f431522410a432ffb7652d626 [INFO] running `Command { std: "docker" "start" "-a" "21ff0ec95b8e10dd5e9601b497cf386d85b9f44f431522410a432ffb7652d626", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "21ff0ec95b8e10dd5e9601b497cf386d85b9f44f431522410a432ffb7652d626", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "21ff0ec95b8e10dd5e9601b497cf386d85b9f44f431522410a432ffb7652d626", kill_on_drop: false }` [INFO] [stdout] 21ff0ec95b8e10dd5e9601b497cf386d85b9f44f431522410a432ffb7652d626 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 47cee536d5bcc5045096f843ee76bbe1be041af0485ea0ab7b6b41c6ccb54bb1 [INFO] running `Command { std: "docker" "start" "-a" "47cee536d5bcc5045096f843ee76bbe1be041af0485ea0ab7b6b41c6ccb54bb1", kill_on_drop: false }` [INFO] [stderr] Compiling fastrand v2.3.0 [INFO] [stderr] Compiling rat_congestion v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/constants.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `profiling` [INFO] [stdout] --> src/constants.rs:365:11 [INFO] [stdout] | [INFO] [stdout] 365 | #[cfg(feature = "profiling")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `bbr`, `cubic`, `default`, `platform-optimized`, and `simd` [INFO] [stdout] = help: consider adding `profiling` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `profiling` [INFO] [stdout] --> src/constants.rs:367:15 [INFO] [stdout] | [INFO] [stdout] 367 | #[cfg(not(feature = "profiling"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `bbr`, `cubic`, `default`, `platform-optimized`, and `simd` [INFO] [stdout] = help: consider adding `profiling` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/platform.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `#[inline]` attribute cannot be used on required trait methods [INFO] [stdout] --> src/algorithms.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | #[inline(always)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = help: `#[inline]` can be applied to closures, functions, inherent methods, provided trait methods, and trait methods in impl blocks [INFO] [stdout] = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rtt` [INFO] [stdout] --> src/manager.rs:403:25 [INFO] [stdout] | [INFO] [stdout] 403 | for &(_, bytes, rtt) in acks { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rtt` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MIN_RTT_THRESHOLD_US` is never used [INFO] [stdout] --> src/constants.rs:13:15 [INFO] [stdout] | [INFO] [stdout] 13 | pub const MIN_RTT_THRESHOLD_US: u64 = 1000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_RTT_THRESHOLD_US` is never used [INFO] [stdout] --> src/constants.rs:16:15 [INFO] [stdout] | [INFO] [stdout] 16 | pub const MAX_RTT_THRESHOLD_US: u64 = 10_000_000; // 10 seconds [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_CWND` is never used [INFO] [stdout] --> src/constants.rs:25:15 [INFO] [stdout] | [INFO] [stdout] 25 | pub const MAX_CWND: u64 = 0x7fff_ffff; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PACING_GAIN_PRECISION` is never used [INFO] [stdout] --> src/constants.rs:31:15 [INFO] [stdout] | [INFO] [stdout] 31 | pub const PACING_GAIN_PRECISION: u64 = 1000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BW_ESTIMATION_WINDOW` is never used [INFO] [stdout] --> src/constants.rs:34:15 [INFO] [stdout] | [INFO] [stdout] 34 | pub const BW_ESTIMATION_WINDOW: usize = 10; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RTT_ALPHA` is never used [INFO] [stdout] --> src/constants.rs:37:15 [INFO] [stdout] | [INFO] [stdout] 37 | pub const RTT_ALPHA: f64 = 0.125; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RTT_BETA` is never used [INFO] [stdout] --> src/constants.rs:40:15 [INFO] [stdout] | [INFO] [stdout] 40 | pub const RTT_BETA: f64 = 0.25; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MIN_PACING_RATE` is never used [INFO] [stdout] --> src/constants.rs:43:15 [INFO] [stdout] | [INFO] [stdout] 43 | pub const MIN_PACING_RATE: u64 = 1000; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_PACING_RATE` is never used [INFO] [stdout] --> src/constants.rs:46:15 [INFO] [stdout] | [INFO] [stdout] 46 | pub const MAX_PACING_RATE: u64 = 100_000_000_000; // 100 Gbps [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HIGH_LOSS_THRESHOLD` is never used [INFO] [stdout] --> src/constants.rs:52:15 [INFO] [stdout] | [INFO] [stdout] 52 | pub const HIGH_LOSS_THRESHOLD: f64 = 0.05; // 5% [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HIGH_RTT_CV_THRESHOLD` is never used [INFO] [stdout] --> src/constants.rs:55:15 [INFO] [stdout] | [INFO] [stdout] 55 | pub const HIGH_RTT_CV_THRESHOLD: f64 = 0.3; // 30% [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LOW_BW_UTIL_THRESHOLD` is never used [INFO] [stdout] --> src/constants.rs:58:15 [INFO] [stdout] | [INFO] [stdout] 58 | pub const LOW_BW_UTIL_THRESHOLD: f64 = 0.7; // 70% [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ACK_BATCH_SIZE` is never used [INFO] [stdout] --> src/constants.rs:61:15 [INFO] [stdout] | [INFO] [stdout] 61 | pub const ACK_BATCH_SIZE: usize = 32; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CACHE_LINE_SIZE` is never used [INFO] [stdout] --> src/constants.rs:64:15 [INFO] [stdout] | [INFO] [stdout] 64 | pub const CACHE_LINE_SIZE: usize = 64; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PROBE_BW_GAIN` is never used [INFO] [stdout] --> src/constants.rs:90:15 [INFO] [stdout] | [INFO] [stdout] 90 | pub const PROBE_BW_GAIN: u64 = 1000; // 1.0 * 1000 [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PROBE_RTT_GAIN` is never used [INFO] [stdout] --> src/constants.rs:93:15 [INFO] [stdout] | [INFO] [stdout] 93 | pub const PROBE_RTT_GAIN: u64 = 1000; // 1.0 * 1000 [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PROBE_RTT_DURATION` is never used [INFO] [stdout] --> src/constants.rs:99:15 [INFO] [stdout] | [INFO] [stdout] 99 | pub const PROBE_RTT_DURATION: Duration = Duration::from_millis(200); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PROBE_RTT_INTERVAL` is never used [INFO] [stdout] --> src/constants.rs:102:15 [INFO] [stdout] | [INFO] [stdout] 102 | pub const PROBE_RTT_INTERVAL: Duration = Duration::from_secs(10); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RTT_WINDOW_LENGTH` is never used [INFO] [stdout] --> src/constants.rs:105:15 [INFO] [stdout] | [INFO] [stdout] 105 | pub const RTT_WINDOW_LENGTH: Duration = Duration::from_secs(10); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BW_WINDOW_LENGTH` is never used [INFO] [stdout] --> src/constants.rs:108:15 [INFO] [stdout] | [INFO] [stdout] 108 | pub const BW_WINDOW_LENGTH: Duration = Duration::from_secs(10); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `STARTUP_ROUNDS` is never used [INFO] [stdout] --> src/constants.rs:111:15 [INFO] [stdout] | [INFO] [stdout] 111 | pub const STARTUP_ROUNDS: u32 = 3; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `STARTUP_GROWTH_THRESHOLD` is never used [INFO] [stdout] --> src/constants.rs:114:15 [INFO] [stdout] | [INFO] [stdout] 114 | pub const STARTUP_GROWTH_THRESHOLD: u64 = 1250; // 1.25 * 1000 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FULL_BW_THRESHOLD` is never used [INFO] [stdout] --> src/constants.rs:117:15 [INFO] [stdout] | [INFO] [stdout] 117 | pub const FULL_BW_THRESHOLD: u64 = 1250; // 1.25 * 1000 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FULL_BW_COUNT` is never used [INFO] [stdout] --> src/constants.rs:120:15 [INFO] [stdout] | [INFO] [stdout] 120 | pub const FULL_BW_COUNT: u32 = 3; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PROBE_BW_CYCLE_LEN` is never used [INFO] [stdout] --> src/constants.rs:123:15 [INFO] [stdout] | [INFO] [stdout] 123 | pub const PROBE_BW_CYCLE_LEN: usize = 8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `EXTRA_ACKED_FILTER_LEN` is never used [INFO] [stdout] --> src/constants.rs:126:15 [INFO] [stdout] | [INFO] [stdout] 126 | pub const EXTRA_ACKED_FILTER_LEN: usize = 10; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BW_FILTER_LEN` is never used [INFO] [stdout] --> src/constants.rs:129:15 [INFO] [stdout] | [INFO] [stdout] 129 | pub const BW_FILTER_LEN: usize = 10; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RTT_FILTER_LEN` is never used [INFO] [stdout] --> src/constants.rs:132:15 [INFO] [stdout] | [INFO] [stdout] 132 | pub const RTT_FILTER_LEN: usize = 10; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PROBE_RTT_CWND_PACKETS` is never used [INFO] [stdout] --> src/constants.rs:135:15 [INFO] [stdout] | [INFO] [stdout] 135 | pub const PROBE_RTT_CWND_PACKETS: u64 = 4; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BETA` is never used [INFO] [stdout] --> src/constants.rs:138:15 [INFO] [stdout] | [INFO] [stdout] 138 | pub const BETA: u64 = 717; // 0.717 * 1000 (30% decrease) [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PACING_MARGIN_PERCENT` is never used [INFO] [stdout] --> src/constants.rs:141:15 [INFO] [stdout] | [INFO] [stdout] 141 | pub const PACING_MARGIN_PERCENT: u64 = 1; // 1% [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `C` is never used [INFO] [stdout] --> src/constants.rs:147:15 [INFO] [stdout] | [INFO] [stdout] 147 | pub const C: f64 = 0.4; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BETA` is never used [INFO] [stdout] --> src/constants.rs:150:15 [INFO] [stdout] | [INFO] [stdout] 150 | pub const BETA: f64 = 0.7; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FAST_CONVERGENCE_FACTOR` is never used [INFO] [stdout] --> src/constants.rs:153:15 [INFO] [stdout] | [INFO] [stdout] 153 | pub const FAST_CONVERGENCE_FACTOR: f64 = 0.85; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TCP_FRIENDLINESS` is never used [INFO] [stdout] --> src/constants.rs:156:15 [INFO] [stdout] | [INFO] [stdout] 156 | pub const TCP_FRIENDLINESS: bool = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HYSTART_ENABLED` is never used [INFO] [stdout] --> src/constants.rs:159:15 [INFO] [stdout] | [INFO] [stdout] 159 | pub const HYSTART_ENABLED: bool = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HYSTART_ACK_TRAIN_THRESHOLD` is never used [INFO] [stdout] --> src/constants.rs:162:15 [INFO] [stdout] | [INFO] [stdout] 162 | pub const HYSTART_ACK_TRAIN_THRESHOLD: u32 = 2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HYSTART_DELAY_THRESHOLD_US` is never used [INFO] [stdout] --> src/constants.rs:165:15 [INFO] [stdout] | [INFO] [stdout] 165 | pub const HYSTART_DELAY_THRESHOLD_US: u64 = 2000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HYSTART_MIN_SAMPLES` is never used [INFO] [stdout] --> src/constants.rs:168:15 [INFO] [stdout] | [INFO] [stdout] 168 | pub const HYSTART_MIN_SAMPLES: u32 = 8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `EPOCH_LENGTH_US` is never used [INFO] [stdout] --> src/constants.rs:171:15 [INFO] [stdout] | [INFO] [stdout] 171 | pub const EPOCH_LENGTH_US: u64 = 100_000; // 100ms [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_INCREMENT` is never used [INFO] [stdout] --> src/constants.rs:174:15 [INFO] [stdout] | [INFO] [stdout] 174 | pub const MAX_INCREMENT: f64 = 1.0; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MIN_INCREMENT` is never used [INFO] [stdout] --> src/constants.rs:177:15 [INFO] [stdout] | [INFO] [stdout] 177 | pub const MIN_INCREMENT: f64 = 0.01; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `INITIAL_SSTHRESH` is never used [INFO] [stdout] --> src/constants.rs:180:15 [INFO] [stdout] | [INFO] [stdout] 180 | pub const INITIAL_SSTHRESH: u64 = 0x7fff_ffff; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MIN_SSTHRESH` is never used [INFO] [stdout] --> src/constants.rs:183:15 [INFO] [stdout] | [INFO] [stdout] 183 | pub const MIN_SSTHRESH: u64 = 2; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CUBIC_ROOT_PRECISION` is never used [INFO] [stdout] --> src/constants.rs:186:15 [INFO] [stdout] | [INFO] [stdout] 186 | pub const CUBIC_ROOT_PRECISION: f64 = 1e-6; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_CUBIC_TIME` is never used [INFO] [stdout] --> src/constants.rs:189:15 [INFO] [stdout] | [INFO] [stdout] 189 | pub const MAX_CUBIC_TIME: f64 = 1000.0; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TIME_SCALE` is never used [INFO] [stdout] --> src/constants.rs:192:15 [INFO] [stdout] | [INFO] [stdout] 192 | pub const TIME_SCALE: f64 = 1024.0; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ACK_RATIO` is never used [INFO] [stdout] --> src/constants.rs:195:15 [INFO] [stdout] | [INFO] [stdout] 195 | pub const ACK_RATIO: f64 = 1.0; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LOSS_EVENT_THRESHOLD` is never used [INFO] [stdout] --> src/constants.rs:198:15 [INFO] [stdout] | [INFO] [stdout] 198 | pub const LOSS_EVENT_THRESHOLD: u32 = 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HIGH_LOSS_RATE` is never used [INFO] [stdout] --> src/constants.rs:204:15 [INFO] [stdout] | [INFO] [stdout] 204 | pub const HIGH_LOSS_RATE: f64 = 0.05; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `VERY_HIGH_LOSS_RATE` is never used [INFO] [stdout] --> src/constants.rs:207:15 [INFO] [stdout] | [INFO] [stdout] 207 | pub const VERY_HIGH_LOSS_RATE: f64 = 0.10; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LOW_LOSS_RATE` is never used [INFO] [stdout] --> src/constants.rs:210:15 [INFO] [stdout] | [INFO] [stdout] 210 | pub const LOW_LOSS_RATE: f64 = 0.001; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HIGH_RTT_VARIATION` is never used [INFO] [stdout] --> src/constants.rs:213:15 [INFO] [stdout] | [INFO] [stdout] 213 | pub const HIGH_RTT_VARIATION: f64 = 0.30; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LOW_RTT_VARIATION` is never used [INFO] [stdout] --> src/constants.rs:216:15 [INFO] [stdout] | [INFO] [stdout] 216 | pub const LOW_RTT_VARIATION: f64 = 0.10; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HIGH_BW_UTILIZATION` is never used [INFO] [stdout] --> src/constants.rs:219:15 [INFO] [stdout] | [INFO] [stdout] 219 | pub const HIGH_BW_UTILIZATION: f64 = 0.90; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LOW_BW_UTILIZATION` is never used [INFO] [stdout] --> src/constants.rs:222:15 [INFO] [stdout] | [INFO] [stdout] 222 | pub const LOW_BW_UTILIZATION: f64 = 0.70; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `VERY_LOW_BW_UTILIZATION` is never used [INFO] [stdout] --> src/constants.rs:225:15 [INFO] [stdout] | [INFO] [stdout] 225 | pub const VERY_LOW_BW_UTILIZATION: f64 = 0.50; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HIGH_RTT_THRESHOLD_US` is never used [INFO] [stdout] --> src/constants.rs:228:15 [INFO] [stdout] | [INFO] [stdout] 228 | pub const HIGH_RTT_THRESHOLD_US: u64 = 100_000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LOW_RTT_THRESHOLD_US` is never used [INFO] [stdout] --> src/constants.rs:231:15 [INFO] [stdout] | [INFO] [stdout] 231 | pub const LOW_RTT_THRESHOLD_US: u64 = 10_000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `VERY_HIGH_RTT_THRESHOLD_US` is never used [INFO] [stdout] --> src/constants.rs:234:15 [INFO] [stdout] | [INFO] [stdout] 234 | pub const VERY_HIGH_RTT_THRESHOLD_US: u64 = 500_000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `STABLE_NETWORK_SAMPLES` is never used [INFO] [stdout] --> src/constants.rs:237:15 [INFO] [stdout] | [INFO] [stdout] 237 | pub const STABLE_NETWORK_SAMPLES: usize = 10; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `UNSTABLE_NETWORK_SAMPLES` is never used [INFO] [stdout] --> src/constants.rs:240:15 [INFO] [stdout] | [INFO] [stdout] 240 | pub const UNSTABLE_NETWORK_SAMPLES: usize = 3; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_SOCKET_BUFFER_SIZE` is never used [INFO] [stdout] --> src/constants.rs:246:15 [INFO] [stdout] | [INFO] [stdout] 246 | pub const DEFAULT_SOCKET_BUFFER_SIZE: usize = 4 * 1024 * 1024; // 4MB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_SOCKET_BUFFER_SIZE` is never used [INFO] [stdout] --> src/constants.rs:249:15 [INFO] [stdout] | [INFO] [stdout] 249 | pub const MAX_SOCKET_BUFFER_SIZE: usize = 128 * 1024 * 1024; // 128MB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MIN_SOCKET_BUFFER_SIZE` is never used [INFO] [stdout] --> src/constants.rs:252:15 [INFO] [stdout] | [INFO] [stdout] 252 | pub const MIN_SOCKET_BUFFER_SIZE: usize = 64 * 1024; // 64KB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PACKET_BUFFER_POOL_SIZE` is never used [INFO] [stdout] --> src/constants.rs:255:15 [INFO] [stdout] | [INFO] [stdout] 255 | pub const PACKET_BUFFER_POOL_SIZE: usize = 1024; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_PACKET_SIZE` is never used [INFO] [stdout] --> src/constants.rs:258:15 [INFO] [stdout] | [INFO] [stdout] 258 | pub const MAX_PACKET_SIZE: usize = 9000; // Jumbo frame [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `STANDARD_MTU` is never used [INFO] [stdout] --> src/constants.rs:261:15 [INFO] [stdout] | [INFO] [stdout] 261 | pub const STANDARD_MTU: usize = 1500; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SIMD_ALIGNMENT` is never used [INFO] [stdout] --> src/constants.rs:264:15 [INFO] [stdout] | [INFO] [stdout] 264 | pub const SIMD_ALIGNMENT: usize = 32; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `METRICS_RING_BUFFER_SIZE` is never used [INFO] [stdout] --> src/constants.rs:267:15 [INFO] [stdout] | [INFO] [stdout] 267 | pub const METRICS_RING_BUFFER_SIZE: usize = 256; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MIN_TIMER_RESOLUTION` is never used [INFO] [stdout] --> src/constants.rs:275:15 [INFO] [stdout] | [INFO] [stdout] 275 | pub const MIN_TIMER_RESOLUTION: Duration = Duration::from_micros(100); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_TIMER_RESOLUTION` is never used [INFO] [stdout] --> src/constants.rs:278:15 [INFO] [stdout] | [INFO] [stdout] 278 | pub const MAX_TIMER_RESOLUTION: Duration = Duration::from_millis(100); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PACING_TIMER_RESOLUTION` is never used [INFO] [stdout] --> src/constants.rs:281:15 [INFO] [stdout] | [INFO] [stdout] 281 | pub const PACING_TIMER_RESOLUTION: Duration = Duration::from_micros(500); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ACK_TIMEOUT_BASE` is never used [INFO] [stdout] --> src/constants.rs:284:15 [INFO] [stdout] | [INFO] [stdout] 284 | pub const ACK_TIMEOUT_BASE: Duration = Duration::from_millis(200); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ACK_TIMEOUT_MAX` is never used [INFO] [stdout] --> src/constants.rs:287:15 [INFO] [stdout] | [INFO] [stdout] 287 | pub const ACK_TIMEOUT_MAX: Duration = Duration::from_secs(60); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RTO_MIN` is never used [INFO] [stdout] --> src/constants.rs:290:15 [INFO] [stdout] | [INFO] [stdout] 290 | pub const RTO_MIN: Duration = Duration::from_millis(200); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RTO_MAX` is never used [INFO] [stdout] --> src/constants.rs:293:15 [INFO] [stdout] | [INFO] [stdout] 293 | pub const RTO_MAX: Duration = Duration::from_secs(60); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DELAYED_ACK_TIMEOUT` is never used [INFO] [stdout] --> src/constants.rs:296:15 [INFO] [stdout] | [INFO] [stdout] 296 | pub const DELAYED_ACK_TIMEOUT: Duration = Duration::from_millis(40); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `KEEP_ALIVE_INTERVAL` is never used [INFO] [stdout] --> src/constants.rs:299:15 [INFO] [stdout] | [INFO] [stdout] 299 | pub const KEEP_ALIVE_INTERVAL: Duration = Duration::from_secs(7200); // 2 hours [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `IDLE_TIMEOUT` is never used [INFO] [stdout] --> src/constants.rs:302:15 [INFO] [stdout] | [INFO] [stdout] 302 | pub const IDLE_TIMEOUT: Duration = Duration::from_secs(300); // 5 minutes [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LN_2` is never used [INFO] [stdout] --> src/constants.rs:308:15 [INFO] [stdout] | [INFO] [stdout] 308 | pub const LN_2: f64 = 0.6931471805599453; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SQRT_2` is never used [INFO] [stdout] --> src/constants.rs:311:15 [INFO] [stdout] | [INFO] [stdout] 311 | pub const SQRT_2: f64 = 1.4142135623730951; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `E` is never used [INFO] [stdout] --> src/constants.rs:314:15 [INFO] [stdout] | [INFO] [stdout] 314 | pub const E: f64 = 2.718281828459045; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PHI` is never used [INFO] [stdout] --> src/constants.rs:317:15 [INFO] [stdout] | [INFO] [stdout] 317 | pub const PHI: f64 = 1.618033988749895; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `EPSILON` is never used [INFO] [stdout] --> src/constants.rs:320:15 [INFO] [stdout] | [INFO] [stdout] 320 | pub const EPSILON: f64 = 1e-9; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_SAFE_INTEGER` is never used [INFO] [stdout] --> src/constants.rs:323:15 [INFO] [stdout] | [INFO] [stdout] 323 | pub const MAX_SAFE_INTEGER: u64 = 0x1f_ffff_ffff_ffff; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FIXED_POINT_SCALE` is never used [INFO] [stdout] --> src/constants.rs:326:15 [INFO] [stdout] | [INFO] [stdout] 326 | pub const FIXED_POINT_SCALE: u64 = 1_000_000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_SCALED_VALUE` is never used [INFO] [stdout] --> src/constants.rs:329:15 [INFO] [stdout] | [INFO] [stdout] 329 | pub const MAX_SCALED_VALUE: u64 = u64::MAX / FIXED_POINT_SCALE; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SIMD_ENABLED` is never used [INFO] [stdout] --> src/constants.rs:338:15 [INFO] [stdout] | [INFO] [stdout] 338 | pub const SIMD_ENABLED: bool = false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PLATFORM_OPTIMIZED` is never used [INFO] [stdout] --> src/constants.rs:344:15 [INFO] [stdout] | [INFO] [stdout] 344 | pub const PLATFORM_OPTIMIZED: bool = false; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BBR_ENABLED` is never used [INFO] [stdout] --> src/constants.rs:348:15 [INFO] [stdout] | [INFO] [stdout] 348 | pub const BBR_ENABLED: bool = true; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CUBIC_ENABLED` is never used [INFO] [stdout] --> src/constants.rs:354:15 [INFO] [stdout] | [INFO] [stdout] 354 | pub const CUBIC_ENABLED: bool = true; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEBUG_ENABLED` is never used [INFO] [stdout] --> src/constants.rs:360:15 [INFO] [stdout] | [INFO] [stdout] 360 | pub const DEBUG_ENABLED: bool = true; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PROFILING_ENABLED` is never used [INFO] [stdout] --> src/constants.rs:368:15 [INFO] [stdout] | [INFO] [stdout] 368 | pub const PROFILING_ENABLED: bool = false; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `us_to_duration` is never used [INFO] [stdout] --> src/constants.rs:377:18 [INFO] [stdout] | [INFO] [stdout] 377 | pub const fn us_to_duration(us: u64) -> std::time::Duration { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `duration_to_us` is never used [INFO] [stdout] --> src/constants.rs:383:12 [INFO] [stdout] | [INFO] [stdout] 383 | pub fn duration_to_us(duration: std::time::Duration) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `scale_pacing_gain` is never used [INFO] [stdout] --> src/constants.rs:389:18 [INFO] [stdout] | [INFO] [stdout] 389 | pub const fn scale_pacing_gain(gain: u64) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `unscale_pacing_gain` is never used [INFO] [stdout] --> src/constants.rs:395:18 [INFO] [stdout] | [INFO] [stdout] 395 | pub const fn unscale_pacing_gain(scaled_gain: u64) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `clamp` is never used [INFO] [stdout] --> src/constants.rs:401:12 [INFO] [stdout] | [INFO] [stdout] 401 | pub fn clamp(value: T, min: T, max: T) -> T { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_high_loss_rate` is never used [INFO] [stdout] --> src/constants.rs:413:12 [INFO] [stdout] | [INFO] [stdout] 413 | pub fn is_high_loss_rate(loss_rate: f64) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_high_rtt_variation` is never used [INFO] [stdout] --> src/constants.rs:419:12 [INFO] [stdout] | [INFO] [stdout] 419 | pub fn is_high_rtt_variation(cv: f64) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_low_bandwidth_utilization` is never used [INFO] [stdout] --> src/constants.rs:425:12 [INFO] [stdout] | [INFO] [stdout] 425 | pub fn is_low_bandwidth_utilization(utilization: f64) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `next_power_of_2` is never used [INFO] [stdout] --> src/constants.rs:431:18 [INFO] [stdout] | [INFO] [stdout] 431 | pub const fn next_power_of_2(n: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `align_to_cache_line` is never used [INFO] [stdout] --> src/constants.rs:441:18 [INFO] [stdout] | [INFO] [stdout] 441 | pub const fn align_to_cache_line(size: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `has_high_resolution_timers` is never used [INFO] [stdout] --> src/platform.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn has_high_resolution_timers() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `supports_reuseport` is never used [INFO] [stdout] --> src/platform.rs:37:12 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn supports_reuseport() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `initial_cwnd` is never used [INFO] [stdout] --> src/platform.rs:48:12 [INFO] [stdout] | [INFO] [stdout] 48 | pub fn initial_cwnd() -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `max_cwnd` is never used [INFO] [stdout] --> src/platform.rs:59:12 [INFO] [stdout] | [INFO] [stdout] 59 | pub fn max_cwnd() -> u64 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `min_rtt_threshold` is never used [INFO] [stdout] --> src/platform.rs:70:12 [INFO] [stdout] | [INFO] [stdout] 70 | pub fn min_rtt_threshold() -> Duration { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pacing_granularity` is never used [INFO] [stdout] --> src/platform.rs:81:12 [INFO] [stdout] | [INFO] [stdout] 81 | pub fn pacing_granularity() -> Duration { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `socket_buffer_size` is never used [INFO] [stdout] --> src/platform.rs:92:12 [INFO] [stdout] | [INFO] [stdout] 92 | pub fn socket_buffer_size() -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `batch_size` is never used [INFO] [stdout] --> src/platform.rs:103:12 [INFO] [stdout] | [INFO] [stdout] 103 | pub fn batch_size() -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `high_resolution_timestamp` is never used [INFO] [stdout] --> src/platform.rs:121:12 [INFO] [stdout] | [INFO] [stdout] 121 | pub fn high_resolution_timestamp() -> Instant { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `precise_sleep` is never used [INFO] [stdout] --> src/platform.rs:129:12 [INFO] [stdout] | [INFO] [stdout] 129 | pub fn precise_sleep(duration: Duration) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `prefetch_hint` is never used [INFO] [stdout] --> src/platform.rs:163:12 [INFO] [stdout] | [INFO] [stdout] 163 | pub fn prefetch_hint(ptr: *const T) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `cache_line_size` is never used [INFO] [stdout] --> src/platform.rs:191:18 [INFO] [stdout] | [INFO] [stdout] 191 | pub const fn cache_line_size() -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `align_to_cache_line` is never used [INFO] [stdout] --> src/platform.rs:205:18 [INFO] [stdout] | [INFO] [stdout] 205 | pub const fn align_to_cache_line(size: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `supports_ecn` is never used [INFO] [stdout] --> src/platform.rs:227:12 [INFO] [stdout] | [INFO] [stdout] 227 | pub fn supports_ecn() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_socket_options` is never used [INFO] [stdout] --> src/platform.rs:238:12 [INFO] [stdout] | [INFO] [stdout] 238 | pub fn get_socket_options() -> Vec<(&'static str, i32)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_tuning_recommendations` is never used [INFO] [stdout] --> src/platform.rs:383:12 [INFO] [stdout] | [INFO] [stdout] 383 | pub fn get_tuning_recommendations() -> Vec<(&'static str, &'static str)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_tuning_guide` is never used [INFO] [stdout] --> src/platform.rs:419:12 [INFO] [stdout] | [INFO] [stdout] 419 | pub fn print_tuning_guide() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.48s [INFO] running `Command { std: "docker" "inspect" "47cee536d5bcc5045096f843ee76bbe1be041af0485ea0ab7b6b41c6ccb54bb1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "47cee536d5bcc5045096f843ee76bbe1be041af0485ea0ab7b6b41c6ccb54bb1", kill_on_drop: false }` [INFO] [stdout] 47cee536d5bcc5045096f843ee76bbe1be041af0485ea0ab7b6b41c6ccb54bb1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 1fc190ea08821acea26fbe9fca6d0cd722b94761de708fcb0e848fc309b1165d [INFO] running `Command { std: "docker" "start" "-a" "1fc190ea08821acea26fbe9fca6d0cd722b94761de708fcb0e848fc309b1165d", kill_on_drop: false }` [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/constants.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `profiling` [INFO] [stdout] --> src/constants.rs:365:11 [INFO] [stdout] | [INFO] [stdout] 365 | #[cfg(feature = "profiling")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `bbr`, `cubic`, `default`, `platform-optimized`, and `simd` [INFO] [stdout] = help: consider adding `profiling` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `profiling` [INFO] [stdout] --> src/constants.rs:367:15 [INFO] [stdout] | [INFO] [stdout] 367 | #[cfg(not(feature = "profiling"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `bbr`, `cubic`, `default`, `platform-optimized`, and `simd` [INFO] [stdout] = help: consider adding `profiling` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/platform.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `#[inline]` attribute cannot be used on required trait methods [INFO] [stdout] --> src/algorithms.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | #[inline(always)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = help: `#[inline]` can be applied to closures, functions, inherent methods, provided trait methods, and trait methods in impl blocks [INFO] [stdout] = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rtt` [INFO] [stdout] --> src/manager.rs:403:25 [INFO] [stdout] | [INFO] [stdout] 403 | for &(_, bytes, rtt) in acks { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rtt` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MIN_RTT_THRESHOLD_US` is never used [INFO] [stdout] --> src/constants.rs:13:15 [INFO] [stdout] | [INFO] [stdout] 13 | pub const MIN_RTT_THRESHOLD_US: u64 = 1000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_RTT_THRESHOLD_US` is never used [INFO] [stdout] --> src/constants.rs:16:15 [INFO] [stdout] | [INFO] [stdout] 16 | pub const MAX_RTT_THRESHOLD_US: u64 = 10_000_000; // 10 seconds [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_CWND` is never used [INFO] [stdout] --> src/constants.rs:25:15 [INFO] [stdout] | [INFO] [stdout] 25 | pub const MAX_CWND: u64 = 0x7fff_ffff; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PACING_GAIN_PRECISION` is never used [INFO] [stdout] --> src/constants.rs:31:15 [INFO] [stdout] | [INFO] [stdout] 31 | pub const PACING_GAIN_PRECISION: u64 = 1000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BW_ESTIMATION_WINDOW` is never used [INFO] [stdout] --> src/constants.rs:34:15 [INFO] [stdout] | [INFO] [stdout] 34 | pub const BW_ESTIMATION_WINDOW: usize = 10; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RTT_ALPHA` is never used [INFO] [stdout] --> src/constants.rs:37:15 [INFO] [stdout] | [INFO] [stdout] 37 | pub const RTT_ALPHA: f64 = 0.125; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RTT_BETA` is never used [INFO] [stdout] --> src/constants.rs:40:15 [INFO] [stdout] | [INFO] [stdout] 40 | pub const RTT_BETA: f64 = 0.25; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MIN_PACING_RATE` is never used [INFO] [stdout] --> src/constants.rs:43:15 [INFO] [stdout] | [INFO] [stdout] 43 | pub const MIN_PACING_RATE: u64 = 1000; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_PACING_RATE` is never used [INFO] [stdout] --> src/constants.rs:46:15 [INFO] [stdout] | [INFO] [stdout] 46 | pub const MAX_PACING_RATE: u64 = 100_000_000_000; // 100 Gbps [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HIGH_LOSS_THRESHOLD` is never used [INFO] [stdout] --> src/constants.rs:52:15 [INFO] [stdout] | [INFO] [stdout] 52 | pub const HIGH_LOSS_THRESHOLD: f64 = 0.05; // 5% [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HIGH_RTT_CV_THRESHOLD` is never used [INFO] [stdout] --> src/constants.rs:55:15 [INFO] [stdout] | [INFO] [stdout] 55 | pub const HIGH_RTT_CV_THRESHOLD: f64 = 0.3; // 30% [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LOW_BW_UTIL_THRESHOLD` is never used [INFO] [stdout] --> src/constants.rs:58:15 [INFO] [stdout] | [INFO] [stdout] 58 | pub const LOW_BW_UTIL_THRESHOLD: f64 = 0.7; // 70% [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ACK_BATCH_SIZE` is never used [INFO] [stdout] --> src/constants.rs:61:15 [INFO] [stdout] | [INFO] [stdout] 61 | pub const ACK_BATCH_SIZE: usize = 32; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CACHE_LINE_SIZE` is never used [INFO] [stdout] --> src/constants.rs:64:15 [INFO] [stdout] | [INFO] [stdout] 64 | pub const CACHE_LINE_SIZE: usize = 64; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PROBE_BW_GAIN` is never used [INFO] [stdout] --> src/constants.rs:90:15 [INFO] [stdout] | [INFO] [stdout] 90 | pub const PROBE_BW_GAIN: u64 = 1000; // 1.0 * 1000 [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PROBE_RTT_GAIN` is never used [INFO] [stdout] --> src/constants.rs:93:15 [INFO] [stdout] | [INFO] [stdout] 93 | pub const PROBE_RTT_GAIN: u64 = 1000; // 1.0 * 1000 [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PROBE_RTT_DURATION` is never used [INFO] [stdout] --> src/constants.rs:99:15 [INFO] [stdout] | [INFO] [stdout] 99 | pub const PROBE_RTT_DURATION: Duration = Duration::from_millis(200); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PROBE_RTT_INTERVAL` is never used [INFO] [stdout] --> src/constants.rs:102:15 [INFO] [stdout] | [INFO] [stdout] 102 | pub const PROBE_RTT_INTERVAL: Duration = Duration::from_secs(10); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RTT_WINDOW_LENGTH` is never used [INFO] [stdout] --> src/constants.rs:105:15 [INFO] [stdout] | [INFO] [stdout] 105 | pub const RTT_WINDOW_LENGTH: Duration = Duration::from_secs(10); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BW_WINDOW_LENGTH` is never used [INFO] [stdout] --> src/constants.rs:108:15 [INFO] [stdout] | [INFO] [stdout] 108 | pub const BW_WINDOW_LENGTH: Duration = Duration::from_secs(10); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `STARTUP_ROUNDS` is never used [INFO] [stdout] --> src/constants.rs:111:15 [INFO] [stdout] | [INFO] [stdout] 111 | pub const STARTUP_ROUNDS: u32 = 3; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `STARTUP_GROWTH_THRESHOLD` is never used [INFO] [stdout] --> src/constants.rs:114:15 [INFO] [stdout] | [INFO] [stdout] 114 | pub const STARTUP_GROWTH_THRESHOLD: u64 = 1250; // 1.25 * 1000 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FULL_BW_THRESHOLD` is never used [INFO] [stdout] --> src/constants.rs:117:15 [INFO] [stdout] | [INFO] [stdout] 117 | pub const FULL_BW_THRESHOLD: u64 = 1250; // 1.25 * 1000 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FULL_BW_COUNT` is never used [INFO] [stdout] --> src/constants.rs:120:15 [INFO] [stdout] | [INFO] [stdout] 120 | pub const FULL_BW_COUNT: u32 = 3; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PROBE_BW_CYCLE_LEN` is never used [INFO] [stdout] --> src/constants.rs:123:15 [INFO] [stdout] | [INFO] [stdout] 123 | pub const PROBE_BW_CYCLE_LEN: usize = 8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `EXTRA_ACKED_FILTER_LEN` is never used [INFO] [stdout] --> src/constants.rs:126:15 [INFO] [stdout] | [INFO] [stdout] 126 | pub const EXTRA_ACKED_FILTER_LEN: usize = 10; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BW_FILTER_LEN` is never used [INFO] [stdout] --> src/constants.rs:129:15 [INFO] [stdout] | [INFO] [stdout] 129 | pub const BW_FILTER_LEN: usize = 10; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RTT_FILTER_LEN` is never used [INFO] [stdout] --> src/constants.rs:132:15 [INFO] [stdout] | [INFO] [stdout] 132 | pub const RTT_FILTER_LEN: usize = 10; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PROBE_RTT_CWND_PACKETS` is never used [INFO] [stdout] --> src/constants.rs:135:15 [INFO] [stdout] | [INFO] [stdout] 135 | pub const PROBE_RTT_CWND_PACKETS: u64 = 4; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BETA` is never used [INFO] [stdout] --> src/constants.rs:138:15 [INFO] [stdout] | [INFO] [stdout] 138 | pub const BETA: u64 = 717; // 0.717 * 1000 (30% decrease) [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PACING_MARGIN_PERCENT` is never used [INFO] [stdout] --> src/constants.rs:141:15 [INFO] [stdout] | [INFO] [stdout] 141 | pub const PACING_MARGIN_PERCENT: u64 = 1; // 1% [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `C` is never used [INFO] [stdout] --> src/constants.rs:147:15 [INFO] [stdout] | [INFO] [stdout] 147 | pub const C: f64 = 0.4; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BETA` is never used [INFO] [stdout] --> src/constants.rs:150:15 [INFO] [stdout] | [INFO] [stdout] 150 | pub const BETA: f64 = 0.7; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FAST_CONVERGENCE_FACTOR` is never used [INFO] [stdout] --> src/constants.rs:153:15 [INFO] [stdout] | [INFO] [stdout] 153 | pub const FAST_CONVERGENCE_FACTOR: f64 = 0.85; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TCP_FRIENDLINESS` is never used [INFO] [stdout] --> src/constants.rs:156:15 [INFO] [stdout] | [INFO] [stdout] 156 | pub const TCP_FRIENDLINESS: bool = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HYSTART_ENABLED` is never used [INFO] [stdout] --> src/constants.rs:159:15 [INFO] [stdout] | [INFO] [stdout] 159 | pub const HYSTART_ENABLED: bool = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HYSTART_ACK_TRAIN_THRESHOLD` is never used [INFO] [stdout] --> src/constants.rs:162:15 [INFO] [stdout] | [INFO] [stdout] 162 | pub const HYSTART_ACK_TRAIN_THRESHOLD: u32 = 2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HYSTART_DELAY_THRESHOLD_US` is never used [INFO] [stdout] --> src/constants.rs:165:15 [INFO] [stdout] | [INFO] [stdout] 165 | pub const HYSTART_DELAY_THRESHOLD_US: u64 = 2000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HYSTART_MIN_SAMPLES` is never used [INFO] [stdout] --> src/constants.rs:168:15 [INFO] [stdout] | [INFO] [stdout] 168 | pub const HYSTART_MIN_SAMPLES: u32 = 8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `EPOCH_LENGTH_US` is never used [INFO] [stdout] --> src/constants.rs:171:15 [INFO] [stdout] | [INFO] [stdout] 171 | pub const EPOCH_LENGTH_US: u64 = 100_000; // 100ms [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_INCREMENT` is never used [INFO] [stdout] --> src/constants.rs:174:15 [INFO] [stdout] | [INFO] [stdout] 174 | pub const MAX_INCREMENT: f64 = 1.0; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MIN_INCREMENT` is never used [INFO] [stdout] --> src/constants.rs:177:15 [INFO] [stdout] | [INFO] [stdout] 177 | pub const MIN_INCREMENT: f64 = 0.01; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `INITIAL_SSTHRESH` is never used [INFO] [stdout] --> src/constants.rs:180:15 [INFO] [stdout] | [INFO] [stdout] 180 | pub const INITIAL_SSTHRESH: u64 = 0x7fff_ffff; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MIN_SSTHRESH` is never used [INFO] [stdout] --> src/constants.rs:183:15 [INFO] [stdout] | [INFO] [stdout] 183 | pub const MIN_SSTHRESH: u64 = 2; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CUBIC_ROOT_PRECISION` is never used [INFO] [stdout] --> src/constants.rs:186:15 [INFO] [stdout] | [INFO] [stdout] 186 | pub const CUBIC_ROOT_PRECISION: f64 = 1e-6; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_CUBIC_TIME` is never used [INFO] [stdout] --> src/constants.rs:189:15 [INFO] [stdout] | [INFO] [stdout] 189 | pub const MAX_CUBIC_TIME: f64 = 1000.0; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TIME_SCALE` is never used [INFO] [stdout] --> src/constants.rs:192:15 [INFO] [stdout] | [INFO] [stdout] 192 | pub const TIME_SCALE: f64 = 1024.0; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ACK_RATIO` is never used [INFO] [stdout] --> src/constants.rs:195:15 [INFO] [stdout] | [INFO] [stdout] 195 | pub const ACK_RATIO: f64 = 1.0; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LOSS_EVENT_THRESHOLD` is never used [INFO] [stdout] --> src/constants.rs:198:15 [INFO] [stdout] | [INFO] [stdout] 198 | pub const LOSS_EVENT_THRESHOLD: u32 = 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HIGH_LOSS_RATE` is never used [INFO] [stdout] --> src/constants.rs:204:15 [INFO] [stdout] | [INFO] [stdout] 204 | pub const HIGH_LOSS_RATE: f64 = 0.05; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `VERY_HIGH_LOSS_RATE` is never used [INFO] [stdout] --> src/constants.rs:207:15 [INFO] [stdout] | [INFO] [stdout] 207 | pub const VERY_HIGH_LOSS_RATE: f64 = 0.10; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LOW_LOSS_RATE` is never used [INFO] [stdout] --> src/constants.rs:210:15 [INFO] [stdout] | [INFO] [stdout] 210 | pub const LOW_LOSS_RATE: f64 = 0.001; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HIGH_RTT_VARIATION` is never used [INFO] [stdout] --> src/constants.rs:213:15 [INFO] [stdout] | [INFO] [stdout] 213 | pub const HIGH_RTT_VARIATION: f64 = 0.30; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LOW_RTT_VARIATION` is never used [INFO] [stdout] --> src/constants.rs:216:15 [INFO] [stdout] | [INFO] [stdout] 216 | pub const LOW_RTT_VARIATION: f64 = 0.10; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HIGH_BW_UTILIZATION` is never used [INFO] [stdout] --> src/constants.rs:219:15 [INFO] [stdout] | [INFO] [stdout] 219 | pub const HIGH_BW_UTILIZATION: f64 = 0.90; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LOW_BW_UTILIZATION` is never used [INFO] [stdout] --> src/constants.rs:222:15 [INFO] [stdout] | [INFO] [stdout] 222 | pub const LOW_BW_UTILIZATION: f64 = 0.70; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `VERY_LOW_BW_UTILIZATION` is never used [INFO] [stdout] --> src/constants.rs:225:15 [INFO] [stdout] | [INFO] [stdout] 225 | pub const VERY_LOW_BW_UTILIZATION: f64 = 0.50; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HIGH_RTT_THRESHOLD_US` is never used [INFO] [stdout] --> src/constants.rs:228:15 [INFO] [stdout] | [INFO] [stdout] 228 | pub const HIGH_RTT_THRESHOLD_US: u64 = 100_000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LOW_RTT_THRESHOLD_US` is never used [INFO] [stdout] --> src/constants.rs:231:15 [INFO] [stdout] | [INFO] [stdout] 231 | pub const LOW_RTT_THRESHOLD_US: u64 = 10_000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `VERY_HIGH_RTT_THRESHOLD_US` is never used [INFO] [stdout] --> src/constants.rs:234:15 [INFO] [stdout] | [INFO] [stdout] 234 | pub const VERY_HIGH_RTT_THRESHOLD_US: u64 = 500_000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `STABLE_NETWORK_SAMPLES` is never used [INFO] [stdout] --> src/constants.rs:237:15 [INFO] [stdout] | [INFO] [stdout] 237 | pub const STABLE_NETWORK_SAMPLES: usize = 10; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `UNSTABLE_NETWORK_SAMPLES` is never used [INFO] [stdout] --> src/constants.rs:240:15 [INFO] [stdout] | [INFO] [stdout] 240 | pub const UNSTABLE_NETWORK_SAMPLES: usize = 3; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_SOCKET_BUFFER_SIZE` is never used [INFO] [stdout] --> src/constants.rs:246:15 [INFO] [stdout] | [INFO] [stdout] 246 | pub const DEFAULT_SOCKET_BUFFER_SIZE: usize = 4 * 1024 * 1024; // 4MB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_SOCKET_BUFFER_SIZE` is never used [INFO] [stdout] --> src/constants.rs:249:15 [INFO] [stdout] | [INFO] [stdout] 249 | pub const MAX_SOCKET_BUFFER_SIZE: usize = 128 * 1024 * 1024; // 128MB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MIN_SOCKET_BUFFER_SIZE` is never used [INFO] [stdout] --> src/constants.rs:252:15 [INFO] [stdout] | [INFO] [stdout] 252 | pub const MIN_SOCKET_BUFFER_SIZE: usize = 64 * 1024; // 64KB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PACKET_BUFFER_POOL_SIZE` is never used [INFO] [stdout] --> src/constants.rs:255:15 [INFO] [stdout] | [INFO] [stdout] 255 | pub const PACKET_BUFFER_POOL_SIZE: usize = 1024; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_PACKET_SIZE` is never used [INFO] [stdout] --> src/constants.rs:258:15 [INFO] [stdout] | [INFO] [stdout] 258 | pub const MAX_PACKET_SIZE: usize = 9000; // Jumbo frame [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `STANDARD_MTU` is never used [INFO] [stdout] --> src/constants.rs:261:15 [INFO] [stdout] | [INFO] [stdout] 261 | pub const STANDARD_MTU: usize = 1500; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SIMD_ALIGNMENT` is never used [INFO] [stdout] --> src/constants.rs:264:15 [INFO] [stdout] | [INFO] [stdout] 264 | pub const SIMD_ALIGNMENT: usize = 32; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `METRICS_RING_BUFFER_SIZE` is never used [INFO] [stdout] --> src/constants.rs:267:15 [INFO] [stdout] | [INFO] [stdout] 267 | pub const METRICS_RING_BUFFER_SIZE: usize = 256; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MIN_TIMER_RESOLUTION` is never used [INFO] [stdout] --> src/constants.rs:275:15 [INFO] [stdout] | [INFO] [stdout] 275 | pub const MIN_TIMER_RESOLUTION: Duration = Duration::from_micros(100); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_TIMER_RESOLUTION` is never used [INFO] [stdout] --> src/constants.rs:278:15 [INFO] [stdout] | [INFO] [stdout] 278 | pub const MAX_TIMER_RESOLUTION: Duration = Duration::from_millis(100); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PACING_TIMER_RESOLUTION` is never used [INFO] [stdout] --> src/constants.rs:281:15 [INFO] [stdout] | [INFO] [stdout] 281 | pub const PACING_TIMER_RESOLUTION: Duration = Duration::from_micros(500); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ACK_TIMEOUT_BASE` is never used [INFO] [stdout] --> src/constants.rs:284:15 [INFO] [stdout] | [INFO] [stdout] 284 | pub const ACK_TIMEOUT_BASE: Duration = Duration::from_millis(200); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ACK_TIMEOUT_MAX` is never used [INFO] [stdout] --> src/constants.rs:287:15 [INFO] [stdout] | [INFO] [stdout] 287 | pub const ACK_TIMEOUT_MAX: Duration = Duration::from_secs(60); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RTO_MIN` is never used [INFO] [stdout] --> src/constants.rs:290:15 [INFO] [stdout] | [INFO] [stdout] 290 | pub const RTO_MIN: Duration = Duration::from_millis(200); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RTO_MAX` is never used [INFO] [stdout] --> src/constants.rs:293:15 [INFO] [stdout] | [INFO] [stdout] 293 | pub const RTO_MAX: Duration = Duration::from_secs(60); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DELAYED_ACK_TIMEOUT` is never used [INFO] [stdout] --> src/constants.rs:296:15 [INFO] [stdout] | [INFO] [stdout] 296 | pub const DELAYED_ACK_TIMEOUT: Duration = Duration::from_millis(40); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `KEEP_ALIVE_INTERVAL` is never used [INFO] [stdout] --> src/constants.rs:299:15 [INFO] [stdout] | [INFO] [stdout] 299 | pub const KEEP_ALIVE_INTERVAL: Duration = Duration::from_secs(7200); // 2 hours [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `IDLE_TIMEOUT` is never used [INFO] [stdout] --> src/constants.rs:302:15 [INFO] [stdout] | [INFO] [stdout] 302 | pub const IDLE_TIMEOUT: Duration = Duration::from_secs(300); // 5 minutes [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LN_2` is never used [INFO] [stdout] --> src/constants.rs:308:15 [INFO] [stdout] | [INFO] [stdout] 308 | pub const LN_2: f64 = 0.6931471805599453; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SQRT_2` is never used [INFO] [stdout] --> src/constants.rs:311:15 [INFO] [stdout] | [INFO] [stdout] 311 | pub const SQRT_2: f64 = 1.4142135623730951; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `E` is never used [INFO] [stdout] --> src/constants.rs:314:15 [INFO] [stdout] | [INFO] [stdout] 314 | pub const E: f64 = 2.718281828459045; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PHI` is never used [INFO] [stdout] --> src/constants.rs:317:15 [INFO] [stdout] | [INFO] [stdout] 317 | pub const PHI: f64 = 1.618033988749895; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `EPSILON` is never used [INFO] [stdout] --> src/constants.rs:320:15 [INFO] [stdout] | [INFO] [stdout] 320 | pub const EPSILON: f64 = 1e-9; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_SAFE_INTEGER` is never used [INFO] [stdout] --> src/constants.rs:323:15 [INFO] [stdout] | [INFO] [stdout] 323 | pub const MAX_SAFE_INTEGER: u64 = 0x1f_ffff_ffff_ffff; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FIXED_POINT_SCALE` is never used [INFO] [stdout] --> src/constants.rs:326:15 [INFO] [stdout] | [INFO] [stdout] 326 | pub const FIXED_POINT_SCALE: u64 = 1_000_000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_SCALED_VALUE` is never used [INFO] [stdout] --> src/constants.rs:329:15 [INFO] [stdout] | [INFO] [stdout] 329 | pub const MAX_SCALED_VALUE: u64 = u64::MAX / FIXED_POINT_SCALE; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SIMD_ENABLED` is never used [INFO] [stdout] --> src/constants.rs:338:15 [INFO] [stdout] | [INFO] [stdout] 338 | pub const SIMD_ENABLED: bool = false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PLATFORM_OPTIMIZED` is never used [INFO] [stdout] --> src/constants.rs:344:15 [INFO] [stdout] | [INFO] [stdout] 344 | pub const PLATFORM_OPTIMIZED: bool = false; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BBR_ENABLED` is never used [INFO] [stdout] --> src/constants.rs:348:15 [INFO] [stdout] | [INFO] [stdout] 348 | pub const BBR_ENABLED: bool = true; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CUBIC_ENABLED` is never used [INFO] [stdout] --> src/constants.rs:354:15 [INFO] [stdout] | [INFO] [stdout] 354 | pub const CUBIC_ENABLED: bool = true; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEBUG_ENABLED` is never used [INFO] [stdout] --> src/constants.rs:360:15 [INFO] [stdout] | [INFO] [stdout] 360 | pub const DEBUG_ENABLED: bool = true; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PROFILING_ENABLED` is never used [INFO] [stdout] --> src/constants.rs:368:15 [INFO] [stdout] | [INFO] [stdout] 368 | pub const PROFILING_ENABLED: bool = false; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `us_to_duration` is never used [INFO] [stdout] --> src/constants.rs:377:18 [INFO] [stdout] | [INFO] [stdout] 377 | pub const fn us_to_duration(us: u64) -> std::time::Duration { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `duration_to_us` is never used [INFO] [stdout] --> src/constants.rs:383:12 [INFO] [stdout] | [INFO] [stdout] 383 | pub fn duration_to_us(duration: std::time::Duration) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `scale_pacing_gain` is never used [INFO] [stdout] --> src/constants.rs:389:18 [INFO] [stdout] | [INFO] [stdout] 389 | pub const fn scale_pacing_gain(gain: u64) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `unscale_pacing_gain` is never used [INFO] [stdout] --> src/constants.rs:395:18 [INFO] [stdout] | [INFO] [stdout] 395 | pub const fn unscale_pacing_gain(scaled_gain: u64) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `clamp` is never used [INFO] [stdout] --> src/constants.rs:401:12 [INFO] [stdout] | [INFO] [stdout] 401 | pub fn clamp(value: T, min: T, max: T) -> T { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_high_loss_rate` is never used [INFO] [stdout] --> src/constants.rs:413:12 [INFO] [stdout] | [INFO] [stdout] 413 | pub fn is_high_loss_rate(loss_rate: f64) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_high_rtt_variation` is never used [INFO] [stdout] --> src/constants.rs:419:12 [INFO] [stdout] | [INFO] [stdout] 419 | pub fn is_high_rtt_variation(cv: f64) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_low_bandwidth_utilization` is never used [INFO] [stdout] --> src/constants.rs:425:12 [INFO] [stdout] | [INFO] [stdout] 425 | pub fn is_low_bandwidth_utilization(utilization: f64) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `next_power_of_2` is never used [INFO] [stdout] --> src/constants.rs:431:18 [INFO] [stdout] | [INFO] [stdout] 431 | pub const fn next_power_of_2(n: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `align_to_cache_line` is never used [INFO] [stdout] --> src/constants.rs:441:18 [INFO] [stdout] | [INFO] [stdout] 441 | pub const fn align_to_cache_line(size: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `has_high_resolution_timers` is never used [INFO] [stdout] --> src/platform.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn has_high_resolution_timers() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `supports_reuseport` is never used [INFO] [stdout] --> src/platform.rs:37:12 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn supports_reuseport() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `initial_cwnd` is never used [INFO] [stdout] --> src/platform.rs:48:12 [INFO] [stdout] | [INFO] [stdout] 48 | pub fn initial_cwnd() -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling rat_congestion v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: function `max_cwnd` is never used [INFO] [stdout] --> src/platform.rs:59:12 [INFO] [stdout] | [INFO] [stdout] 59 | pub fn max_cwnd() -> u64 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `min_rtt_threshold` is never used [INFO] [stdout] --> src/platform.rs:70:12 [INFO] [stdout] | [INFO] [stdout] 70 | pub fn min_rtt_threshold() -> Duration { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pacing_granularity` is never used [INFO] [stdout] --> src/platform.rs:81:12 [INFO] [stdout] | [INFO] [stdout] 81 | pub fn pacing_granularity() -> Duration { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `socket_buffer_size` is never used [INFO] [stdout] --> src/platform.rs:92:12 [INFO] [stdout] | [INFO] [stdout] 92 | pub fn socket_buffer_size() -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `batch_size` is never used [INFO] [stdout] --> src/platform.rs:103:12 [INFO] [stdout] | [INFO] [stdout] 103 | pub fn batch_size() -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `high_resolution_timestamp` is never used [INFO] [stdout] --> src/platform.rs:121:12 [INFO] [stdout] | [INFO] [stdout] 121 | pub fn high_resolution_timestamp() -> Instant { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `precise_sleep` is never used [INFO] [stdout] --> src/platform.rs:129:12 [INFO] [stdout] | [INFO] [stdout] 129 | pub fn precise_sleep(duration: Duration) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `prefetch_hint` is never used [INFO] [stdout] --> src/platform.rs:163:12 [INFO] [stdout] | [INFO] [stdout] 163 | pub fn prefetch_hint(ptr: *const T) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `cache_line_size` is never used [INFO] [stdout] --> src/platform.rs:191:18 [INFO] [stdout] | [INFO] [stdout] 191 | pub const fn cache_line_size() -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `align_to_cache_line` is never used [INFO] [stdout] --> src/platform.rs:205:18 [INFO] [stdout] | [INFO] [stdout] 205 | pub const fn align_to_cache_line(size: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `supports_ecn` is never used [INFO] [stdout] --> src/platform.rs:227:12 [INFO] [stdout] | [INFO] [stdout] 227 | pub fn supports_ecn() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_socket_options` is never used [INFO] [stdout] --> src/platform.rs:238:12 [INFO] [stdout] | [INFO] [stdout] 238 | pub fn get_socket_options() -> Vec<(&'static str, i32)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_tuning_recommendations` is never used [INFO] [stdout] --> src/platform.rs:383:12 [INFO] [stdout] | [INFO] [stdout] 383 | pub fn get_tuning_recommendations() -> Vec<(&'static str, &'static str)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_tuning_guide` is never used [INFO] [stdout] --> src/platform.rs:419:12 [INFO] [stdout] | [INFO] [stdout] 419 | pub fn print_tuning_guide() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `CongestionEvent` [INFO] [stdout] --> examples/basic_usage.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | CongestionEvent, PLATFORM [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/constants.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `profiling` [INFO] [stdout] --> src/constants.rs:365:11 [INFO] [stdout] | [INFO] [stdout] 365 | #[cfg(feature = "profiling")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `bbr`, `cubic`, `default`, `platform-optimized`, and `simd` [INFO] [stdout] = help: consider adding `profiling` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `profiling` [INFO] [stdout] --> src/constants.rs:367:15 [INFO] [stdout] | [INFO] [stdout] 367 | #[cfg(not(feature = "profiling"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `bbr`, `cubic`, `default`, `platform-optimized`, and `simd` [INFO] [stdout] = help: consider adding `profiling` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/platform.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `#[inline]` attribute cannot be used on required trait methods [INFO] [stdout] --> src/algorithms.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | #[inline(always)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = help: `#[inline]` can be applied to closures, functions, inherent methods, provided trait methods, and trait methods in impl blocks [INFO] [stdout] = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rtt` [INFO] [stdout] --> src/manager.rs:403:25 [INFO] [stdout] | [INFO] [stdout] 403 | for &(_, bytes, rtt) in acks { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rtt` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MIN_RTT_THRESHOLD_US` is never used [INFO] [stdout] --> src/constants.rs:13:15 [INFO] [stdout] | [INFO] [stdout] 13 | pub const MIN_RTT_THRESHOLD_US: u64 = 1000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_RTT_THRESHOLD_US` is never used [INFO] [stdout] --> src/constants.rs:16:15 [INFO] [stdout] | [INFO] [stdout] 16 | pub const MAX_RTT_THRESHOLD_US: u64 = 10_000_000; // 10 seconds [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_CWND` is never used [INFO] [stdout] --> src/constants.rs:25:15 [INFO] [stdout] | [INFO] [stdout] 25 | pub const MAX_CWND: u64 = 0x7fff_ffff; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PACING_GAIN_PRECISION` is never used [INFO] [stdout] --> src/constants.rs:31:15 [INFO] [stdout] | [INFO] [stdout] 31 | pub const PACING_GAIN_PRECISION: u64 = 1000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BW_ESTIMATION_WINDOW` is never used [INFO] [stdout] --> src/constants.rs:34:15 [INFO] [stdout] | [INFO] [stdout] 34 | pub const BW_ESTIMATION_WINDOW: usize = 10; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RTT_ALPHA` is never used [INFO] [stdout] --> src/constants.rs:37:15 [INFO] [stdout] | [INFO] [stdout] 37 | pub const RTT_ALPHA: f64 = 0.125; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RTT_BETA` is never used [INFO] [stdout] --> src/constants.rs:40:15 [INFO] [stdout] | [INFO] [stdout] 40 | pub const RTT_BETA: f64 = 0.25; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MIN_PACING_RATE` is never used [INFO] [stdout] --> src/constants.rs:43:15 [INFO] [stdout] | [INFO] [stdout] 43 | pub const MIN_PACING_RATE: u64 = 1000; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_PACING_RATE` is never used [INFO] [stdout] --> src/constants.rs:46:15 [INFO] [stdout] | [INFO] [stdout] 46 | pub const MAX_PACING_RATE: u64 = 100_000_000_000; // 100 Gbps [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HIGH_LOSS_THRESHOLD` is never used [INFO] [stdout] --> src/constants.rs:52:15 [INFO] [stdout] | [INFO] [stdout] 52 | pub const HIGH_LOSS_THRESHOLD: f64 = 0.05; // 5% [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HIGH_RTT_CV_THRESHOLD` is never used [INFO] [stdout] --> src/constants.rs:55:15 [INFO] [stdout] | [INFO] [stdout] 55 | pub const HIGH_RTT_CV_THRESHOLD: f64 = 0.3; // 30% [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LOW_BW_UTIL_THRESHOLD` is never used [INFO] [stdout] --> src/constants.rs:58:15 [INFO] [stdout] | [INFO] [stdout] 58 | pub const LOW_BW_UTIL_THRESHOLD: f64 = 0.7; // 70% [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `metrics` [INFO] [stdout] --> examples/basic_usage.rs:288:9 [INFO] [stdout] | [INFO] [stdout] 288 | let metrics = MockNetworkMetrics::new(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_metrics` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `metrics_window` [INFO] [stdout] --> examples/basic_usage.rs:289:9 [INFO] [stdout] | [INFO] [stdout] 289 | let metrics_window = MockMetricsWindow::new(32); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_metrics_window` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ACK_BATCH_SIZE` is never used [INFO] [stdout] --> src/constants.rs:61:15 [INFO] [stdout] | [INFO] [stdout] 61 | pub const ACK_BATCH_SIZE: usize = 32; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CACHE_LINE_SIZE` is never used [INFO] [stdout] --> src/constants.rs:64:15 [INFO] [stdout] | [INFO] [stdout] 64 | pub const CACHE_LINE_SIZE: usize = 64; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PROBE_BW_GAIN` is never used [INFO] [stdout] --> src/constants.rs:90:15 [INFO] [stdout] | [INFO] [stdout] 90 | pub const PROBE_BW_GAIN: u64 = 1000; // 1.0 * 1000 [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PROBE_RTT_GAIN` is never used [INFO] [stdout] --> src/constants.rs:93:15 [INFO] [stdout] | [INFO] [stdout] 93 | pub const PROBE_RTT_GAIN: u64 = 1000; // 1.0 * 1000 [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PROBE_RTT_DURATION` is never used [INFO] [stdout] --> src/constants.rs:99:15 [INFO] [stdout] | [INFO] [stdout] 99 | pub const PROBE_RTT_DURATION: Duration = Duration::from_millis(200); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PROBE_RTT_INTERVAL` is never used [INFO] [stdout] --> src/constants.rs:102:15 [INFO] [stdout] | [INFO] [stdout] 102 | pub const PROBE_RTT_INTERVAL: Duration = Duration::from_secs(10); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RTT_WINDOW_LENGTH` is never used [INFO] [stdout] --> src/constants.rs:105:15 [INFO] [stdout] | [INFO] [stdout] 105 | pub const RTT_WINDOW_LENGTH: Duration = Duration::from_secs(10); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BW_WINDOW_LENGTH` is never used [INFO] [stdout] --> src/constants.rs:108:15 [INFO] [stdout] | [INFO] [stdout] 108 | pub const BW_WINDOW_LENGTH: Duration = Duration::from_secs(10); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `STARTUP_ROUNDS` is never used [INFO] [stdout] --> src/constants.rs:111:15 [INFO] [stdout] | [INFO] [stdout] 111 | pub const STARTUP_ROUNDS: u32 = 3; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `STARTUP_GROWTH_THRESHOLD` is never used [INFO] [stdout] --> src/constants.rs:114:15 [INFO] [stdout] | [INFO] [stdout] 114 | pub const STARTUP_GROWTH_THRESHOLD: u64 = 1250; // 1.25 * 1000 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FULL_BW_THRESHOLD` is never used [INFO] [stdout] --> src/constants.rs:117:15 [INFO] [stdout] | [INFO] [stdout] 117 | pub const FULL_BW_THRESHOLD: u64 = 1250; // 1.25 * 1000 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FULL_BW_COUNT` is never used [INFO] [stdout] --> src/constants.rs:120:15 [INFO] [stdout] | [INFO] [stdout] 120 | pub const FULL_BW_COUNT: u32 = 3; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PROBE_BW_CYCLE_LEN` is never used [INFO] [stdout] --> src/constants.rs:123:15 [INFO] [stdout] | [INFO] [stdout] 123 | pub const PROBE_BW_CYCLE_LEN: usize = 8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `EXTRA_ACKED_FILTER_LEN` is never used [INFO] [stdout] --> src/constants.rs:126:15 [INFO] [stdout] | [INFO] [stdout] 126 | pub const EXTRA_ACKED_FILTER_LEN: usize = 10; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BW_FILTER_LEN` is never used [INFO] [stdout] --> src/constants.rs:129:15 [INFO] [stdout] | [INFO] [stdout] 129 | pub const BW_FILTER_LEN: usize = 10; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RTT_FILTER_LEN` is never used [INFO] [stdout] --> src/constants.rs:132:15 [INFO] [stdout] | [INFO] [stdout] 132 | pub const RTT_FILTER_LEN: usize = 10; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PROBE_RTT_CWND_PACKETS` is never used [INFO] [stdout] --> src/constants.rs:135:15 [INFO] [stdout] | [INFO] [stdout] 135 | pub const PROBE_RTT_CWND_PACKETS: u64 = 4; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BETA` is never used [INFO] [stdout] --> src/constants.rs:138:15 [INFO] [stdout] | [INFO] [stdout] 138 | pub const BETA: u64 = 717; // 0.717 * 1000 (30% decrease) [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PACING_MARGIN_PERCENT` is never used [INFO] [stdout] --> src/constants.rs:141:15 [INFO] [stdout] | [INFO] [stdout] 141 | pub const PACING_MARGIN_PERCENT: u64 = 1; // 1% [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `C` is never used [INFO] [stdout] --> src/constants.rs:147:15 [INFO] [stdout] | [INFO] [stdout] 147 | pub const C: f64 = 0.4; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BETA` is never used [INFO] [stdout] --> src/constants.rs:150:15 [INFO] [stdout] | [INFO] [stdout] 150 | pub const BETA: f64 = 0.7; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FAST_CONVERGENCE_FACTOR` is never used [INFO] [stdout] --> src/constants.rs:153:15 [INFO] [stdout] | [INFO] [stdout] 153 | pub const FAST_CONVERGENCE_FACTOR: f64 = 0.85; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TCP_FRIENDLINESS` is never used [INFO] [stdout] --> src/constants.rs:156:15 [INFO] [stdout] | [INFO] [stdout] 156 | pub const TCP_FRIENDLINESS: bool = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HYSTART_ENABLED` is never used [INFO] [stdout] --> src/constants.rs:159:15 [INFO] [stdout] | [INFO] [stdout] 159 | pub const HYSTART_ENABLED: bool = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HYSTART_ACK_TRAIN_THRESHOLD` is never used [INFO] [stdout] --> src/constants.rs:162:15 [INFO] [stdout] | [INFO] [stdout] 162 | pub const HYSTART_ACK_TRAIN_THRESHOLD: u32 = 2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HYSTART_DELAY_THRESHOLD_US` is never used [INFO] [stdout] --> src/constants.rs:165:15 [INFO] [stdout] | [INFO] [stdout] 165 | pub const HYSTART_DELAY_THRESHOLD_US: u64 = 2000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HYSTART_MIN_SAMPLES` is never used [INFO] [stdout] --> src/constants.rs:168:15 [INFO] [stdout] | [INFO] [stdout] 168 | pub const HYSTART_MIN_SAMPLES: u32 = 8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `EPOCH_LENGTH_US` is never used [INFO] [stdout] --> src/constants.rs:171:15 [INFO] [stdout] | [INFO] [stdout] 171 | pub const EPOCH_LENGTH_US: u64 = 100_000; // 100ms [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_INCREMENT` is never used [INFO] [stdout] --> src/constants.rs:174:15 [INFO] [stdout] | [INFO] [stdout] 174 | pub const MAX_INCREMENT: f64 = 1.0; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MIN_INCREMENT` is never used [INFO] [stdout] --> src/constants.rs:177:15 [INFO] [stdout] | [INFO] [stdout] 177 | pub const MIN_INCREMENT: f64 = 0.01; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `INITIAL_SSTHRESH` is never used [INFO] [stdout] --> src/constants.rs:180:15 [INFO] [stdout] | [INFO] [stdout] 180 | pub const INITIAL_SSTHRESH: u64 = 0x7fff_ffff; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MIN_SSTHRESH` is never used [INFO] [stdout] --> src/constants.rs:183:15 [INFO] [stdout] | [INFO] [stdout] 183 | pub const MIN_SSTHRESH: u64 = 2; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CUBIC_ROOT_PRECISION` is never used [INFO] [stdout] --> src/constants.rs:186:15 [INFO] [stdout] | [INFO] [stdout] 186 | pub const CUBIC_ROOT_PRECISION: f64 = 1e-6; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_CUBIC_TIME` is never used [INFO] [stdout] --> src/constants.rs:189:15 [INFO] [stdout] | [INFO] [stdout] 189 | pub const MAX_CUBIC_TIME: f64 = 1000.0; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TIME_SCALE` is never used [INFO] [stdout] --> src/constants.rs:192:15 [INFO] [stdout] | [INFO] [stdout] 192 | pub const TIME_SCALE: f64 = 1024.0; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ACK_RATIO` is never used [INFO] [stdout] --> src/constants.rs:195:15 [INFO] [stdout] | [INFO] [stdout] 195 | pub const ACK_RATIO: f64 = 1.0; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LOSS_EVENT_THRESHOLD` is never used [INFO] [stdout] --> src/constants.rs:198:15 [INFO] [stdout] | [INFO] [stdout] 198 | pub const LOSS_EVENT_THRESHOLD: u32 = 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HIGH_LOSS_RATE` is never used [INFO] [stdout] --> src/constants.rs:204:15 [INFO] [stdout] | [INFO] [stdout] 204 | pub const HIGH_LOSS_RATE: f64 = 0.05; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `VERY_HIGH_LOSS_RATE` is never used [INFO] [stdout] --> src/constants.rs:207:15 [INFO] [stdout] | [INFO] [stdout] 207 | pub const VERY_HIGH_LOSS_RATE: f64 = 0.10; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LOW_LOSS_RATE` is never used [INFO] [stdout] --> src/constants.rs:210:15 [INFO] [stdout] | [INFO] [stdout] 210 | pub const LOW_LOSS_RATE: f64 = 0.001; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HIGH_RTT_VARIATION` is never used [INFO] [stdout] --> src/constants.rs:213:15 [INFO] [stdout] | [INFO] [stdout] 213 | pub const HIGH_RTT_VARIATION: f64 = 0.30; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LOW_RTT_VARIATION` is never used [INFO] [stdout] --> src/constants.rs:216:15 [INFO] [stdout] | [INFO] [stdout] 216 | pub const LOW_RTT_VARIATION: f64 = 0.10; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HIGH_BW_UTILIZATION` is never used [INFO] [stdout] --> src/constants.rs:219:15 [INFO] [stdout] | [INFO] [stdout] 219 | pub const HIGH_BW_UTILIZATION: f64 = 0.90; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `print_stats` is never used [INFO] [stdout] --> examples/basic_usage.rs:51:8 [INFO] [stdout] | [INFO] [stdout] 31 | impl MockNetworkMetrics { [INFO] [stdout] | ----------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 51 | fn print_stats(&self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `print_stats` is never used [INFO] [stdout] --> examples/basic_usage.rs:146:8 [INFO] [stdout] | [INFO] [stdout] 138 | impl MockMetricsWindow { [INFO] [stdout] | ---------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 146 | fn print_stats(&self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LOW_BW_UTILIZATION` is never used [INFO] [stdout] --> src/constants.rs:222:15 [INFO] [stdout] | [INFO] [stdout] 222 | pub const LOW_BW_UTILIZATION: f64 = 0.70; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `VERY_LOW_BW_UTILIZATION` is never used [INFO] [stdout] --> src/constants.rs:225:15 [INFO] [stdout] | [INFO] [stdout] 225 | pub const VERY_LOW_BW_UTILIZATION: f64 = 0.50; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HIGH_RTT_THRESHOLD_US` is never used [INFO] [stdout] --> src/constants.rs:228:15 [INFO] [stdout] | [INFO] [stdout] 228 | pub const HIGH_RTT_THRESHOLD_US: u64 = 100_000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LOW_RTT_THRESHOLD_US` is never used [INFO] [stdout] --> src/constants.rs:231:15 [INFO] [stdout] | [INFO] [stdout] 231 | pub const LOW_RTT_THRESHOLD_US: u64 = 10_000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `VERY_HIGH_RTT_THRESHOLD_US` is never used [INFO] [stdout] --> src/constants.rs:234:15 [INFO] [stdout] | [INFO] [stdout] 234 | pub const VERY_HIGH_RTT_THRESHOLD_US: u64 = 500_000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `STABLE_NETWORK_SAMPLES` is never used [INFO] [stdout] --> src/constants.rs:237:15 [INFO] [stdout] | [INFO] [stdout] 237 | pub const STABLE_NETWORK_SAMPLES: usize = 10; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `UNSTABLE_NETWORK_SAMPLES` is never used [INFO] [stdout] --> src/constants.rs:240:15 [INFO] [stdout] | [INFO] [stdout] 240 | pub const UNSTABLE_NETWORK_SAMPLES: usize = 3; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_SOCKET_BUFFER_SIZE` is never used [INFO] [stdout] --> src/constants.rs:246:15 [INFO] [stdout] | [INFO] [stdout] 246 | pub const DEFAULT_SOCKET_BUFFER_SIZE: usize = 4 * 1024 * 1024; // 4MB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `base_bandwidth` and `time` are never read [INFO] [stdout] --> examples/basic_usage.rs:225:5 [INFO] [stdout] | [INFO] [stdout] 223 | struct NetworkSimulator { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] 224 | base_rtt: Duration, [INFO] [stdout] 225 | base_bandwidth: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 226 | packet_size: u32, [INFO] [stdout] 227 | time: Instant, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_SOCKET_BUFFER_SIZE` is never used [INFO] [stdout] --> src/constants.rs:249:15 [INFO] [stdout] | [INFO] [stdout] 249 | pub const MAX_SOCKET_BUFFER_SIZE: usize = 128 * 1024 * 1024; // 128MB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MIN_SOCKET_BUFFER_SIZE` is never used [INFO] [stdout] --> src/constants.rs:252:15 [INFO] [stdout] | [INFO] [stdout] 252 | pub const MIN_SOCKET_BUFFER_SIZE: usize = 64 * 1024; // 64KB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PACKET_BUFFER_POOL_SIZE` is never used [INFO] [stdout] --> src/constants.rs:255:15 [INFO] [stdout] | [INFO] [stdout] 255 | pub const PACKET_BUFFER_POOL_SIZE: usize = 1024; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_PACKET_SIZE` is never used [INFO] [stdout] --> src/constants.rs:258:15 [INFO] [stdout] | [INFO] [stdout] 258 | pub const MAX_PACKET_SIZE: usize = 9000; // Jumbo frame [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `STANDARD_MTU` is never used [INFO] [stdout] --> src/constants.rs:261:15 [INFO] [stdout] | [INFO] [stdout] 261 | pub const STANDARD_MTU: usize = 1500; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SIMD_ALIGNMENT` is never used [INFO] [stdout] --> src/constants.rs:264:15 [INFO] [stdout] | [INFO] [stdout] 264 | pub const SIMD_ALIGNMENT: usize = 32; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `METRICS_RING_BUFFER_SIZE` is never used [INFO] [stdout] --> src/constants.rs:267:15 [INFO] [stdout] | [INFO] [stdout] 267 | pub const METRICS_RING_BUFFER_SIZE: usize = 256; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MIN_TIMER_RESOLUTION` is never used [INFO] [stdout] --> src/constants.rs:275:15 [INFO] [stdout] | [INFO] [stdout] 275 | pub const MIN_TIMER_RESOLUTION: Duration = Duration::from_micros(100); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_TIMER_RESOLUTION` is never used [INFO] [stdout] --> src/constants.rs:278:15 [INFO] [stdout] | [INFO] [stdout] 278 | pub const MAX_TIMER_RESOLUTION: Duration = Duration::from_millis(100); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PACING_TIMER_RESOLUTION` is never used [INFO] [stdout] --> src/constants.rs:281:15 [INFO] [stdout] | [INFO] [stdout] 281 | pub const PACING_TIMER_RESOLUTION: Duration = Duration::from_micros(500); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ACK_TIMEOUT_BASE` is never used [INFO] [stdout] --> src/constants.rs:284:15 [INFO] [stdout] | [INFO] [stdout] 284 | pub const ACK_TIMEOUT_BASE: Duration = Duration::from_millis(200); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ACK_TIMEOUT_MAX` is never used [INFO] [stdout] --> src/constants.rs:287:15 [INFO] [stdout] | [INFO] [stdout] 287 | pub const ACK_TIMEOUT_MAX: Duration = Duration::from_secs(60); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RTO_MIN` is never used [INFO] [stdout] --> src/constants.rs:290:15 [INFO] [stdout] | [INFO] [stdout] 290 | pub const RTO_MIN: Duration = Duration::from_millis(200); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RTO_MAX` is never used [INFO] [stdout] --> src/constants.rs:293:15 [INFO] [stdout] | [INFO] [stdout] 293 | pub const RTO_MAX: Duration = Duration::from_secs(60); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DELAYED_ACK_TIMEOUT` is never used [INFO] [stdout] --> src/constants.rs:296:15 [INFO] [stdout] | [INFO] [stdout] 296 | pub const DELAYED_ACK_TIMEOUT: Duration = Duration::from_millis(40); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `KEEP_ALIVE_INTERVAL` is never used [INFO] [stdout] --> src/constants.rs:299:15 [INFO] [stdout] | [INFO] [stdout] 299 | pub const KEEP_ALIVE_INTERVAL: Duration = Duration::from_secs(7200); // 2 hours [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `IDLE_TIMEOUT` is never used [INFO] [stdout] --> src/constants.rs:302:15 [INFO] [stdout] | [INFO] [stdout] 302 | pub const IDLE_TIMEOUT: Duration = Duration::from_secs(300); // 5 minutes [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LN_2` is never used [INFO] [stdout] --> src/constants.rs:308:15 [INFO] [stdout] | [INFO] [stdout] 308 | pub const LN_2: f64 = 0.6931471805599453; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SQRT_2` is never used [INFO] [stdout] --> src/constants.rs:311:15 [INFO] [stdout] | [INFO] [stdout] 311 | pub const SQRT_2: f64 = 1.4142135623730951; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `E` is never used [INFO] [stdout] --> src/constants.rs:314:15 [INFO] [stdout] | [INFO] [stdout] 314 | pub const E: f64 = 2.718281828459045; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PHI` is never used [INFO] [stdout] --> src/constants.rs:317:15 [INFO] [stdout] | [INFO] [stdout] 317 | pub const PHI: f64 = 1.618033988749895; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `EPSILON` is never used [INFO] [stdout] --> src/constants.rs:320:15 [INFO] [stdout] | [INFO] [stdout] 320 | pub const EPSILON: f64 = 1e-9; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_SAFE_INTEGER` is never used [INFO] [stdout] --> src/constants.rs:323:15 [INFO] [stdout] | [INFO] [stdout] 323 | pub const MAX_SAFE_INTEGER: u64 = 0x1f_ffff_ffff_ffff; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FIXED_POINT_SCALE` is never used [INFO] [stdout] --> src/constants.rs:326:15 [INFO] [stdout] | [INFO] [stdout] 326 | pub const FIXED_POINT_SCALE: u64 = 1_000_000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_SCALED_VALUE` is never used [INFO] [stdout] --> src/constants.rs:329:15 [INFO] [stdout] | [INFO] [stdout] 329 | pub const MAX_SCALED_VALUE: u64 = u64::MAX / FIXED_POINT_SCALE; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SIMD_ENABLED` is never used [INFO] [stdout] --> src/constants.rs:338:15 [INFO] [stdout] | [INFO] [stdout] 338 | pub const SIMD_ENABLED: bool = false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PLATFORM_OPTIMIZED` is never used [INFO] [stdout] --> src/constants.rs:344:15 [INFO] [stdout] | [INFO] [stdout] 344 | pub const PLATFORM_OPTIMIZED: bool = false; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BBR_ENABLED` is never used [INFO] [stdout] --> src/constants.rs:348:15 [INFO] [stdout] | [INFO] [stdout] 348 | pub const BBR_ENABLED: bool = true; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CUBIC_ENABLED` is never used [INFO] [stdout] --> src/constants.rs:354:15 [INFO] [stdout] | [INFO] [stdout] 354 | pub const CUBIC_ENABLED: bool = true; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEBUG_ENABLED` is never used [INFO] [stdout] --> src/constants.rs:360:15 [INFO] [stdout] | [INFO] [stdout] 360 | pub const DEBUG_ENABLED: bool = true; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PROFILING_ENABLED` is never used [INFO] [stdout] --> src/constants.rs:368:15 [INFO] [stdout] | [INFO] [stdout] 368 | pub const PROFILING_ENABLED: bool = false; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `us_to_duration` is never used [INFO] [stdout] --> src/constants.rs:377:18 [INFO] [stdout] | [INFO] [stdout] 377 | pub const fn us_to_duration(us: u64) -> std::time::Duration { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `duration_to_us` is never used [INFO] [stdout] --> src/constants.rs:383:12 [INFO] [stdout] | [INFO] [stdout] 383 | pub fn duration_to_us(duration: std::time::Duration) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `scale_pacing_gain` is never used [INFO] [stdout] --> src/constants.rs:389:18 [INFO] [stdout] | [INFO] [stdout] 389 | pub const fn scale_pacing_gain(gain: u64) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `unscale_pacing_gain` is never used [INFO] [stdout] --> src/constants.rs:395:18 [INFO] [stdout] | [INFO] [stdout] 395 | pub const fn unscale_pacing_gain(scaled_gain: u64) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `clamp` is never used [INFO] [stdout] --> src/constants.rs:401:12 [INFO] [stdout] | [INFO] [stdout] 401 | pub fn clamp(value: T, min: T, max: T) -> T { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_high_loss_rate` is never used [INFO] [stdout] --> src/constants.rs:413:12 [INFO] [stdout] | [INFO] [stdout] 413 | pub fn is_high_loss_rate(loss_rate: f64) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_high_rtt_variation` is never used [INFO] [stdout] --> src/constants.rs:419:12 [INFO] [stdout] | [INFO] [stdout] 419 | pub fn is_high_rtt_variation(cv: f64) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_low_bandwidth_utilization` is never used [INFO] [stdout] --> src/constants.rs:425:12 [INFO] [stdout] | [INFO] [stdout] 425 | pub fn is_low_bandwidth_utilization(utilization: f64) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `next_power_of_2` is never used [INFO] [stdout] --> src/constants.rs:431:18 [INFO] [stdout] | [INFO] [stdout] 431 | pub const fn next_power_of_2(n: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `align_to_cache_line` is never used [INFO] [stdout] --> src/constants.rs:441:18 [INFO] [stdout] | [INFO] [stdout] 441 | pub const fn align_to_cache_line(size: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `has_high_resolution_timers` is never used [INFO] [stdout] --> src/platform.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn has_high_resolution_timers() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `supports_reuseport` is never used [INFO] [stdout] --> src/platform.rs:37:12 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn supports_reuseport() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `initial_cwnd` is never used [INFO] [stdout] --> src/platform.rs:48:12 [INFO] [stdout] | [INFO] [stdout] 48 | pub fn initial_cwnd() -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `max_cwnd` is never used [INFO] [stdout] --> src/platform.rs:59:12 [INFO] [stdout] | [INFO] [stdout] 59 | pub fn max_cwnd() -> u64 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `min_rtt_threshold` is never used [INFO] [stdout] --> src/platform.rs:70:12 [INFO] [stdout] | [INFO] [stdout] 70 | pub fn min_rtt_threshold() -> Duration { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pacing_granularity` is never used [INFO] [stdout] --> src/platform.rs:81:12 [INFO] [stdout] | [INFO] [stdout] 81 | pub fn pacing_granularity() -> Duration { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `socket_buffer_size` is never used [INFO] [stdout] --> src/platform.rs:92:12 [INFO] [stdout] | [INFO] [stdout] 92 | pub fn socket_buffer_size() -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `batch_size` is never used [INFO] [stdout] --> src/platform.rs:103:12 [INFO] [stdout] | [INFO] [stdout] 103 | pub fn batch_size() -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `high_resolution_timestamp` is never used [INFO] [stdout] --> src/platform.rs:121:12 [INFO] [stdout] | [INFO] [stdout] 121 | pub fn high_resolution_timestamp() -> Instant { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `precise_sleep` is never used [INFO] [stdout] --> src/platform.rs:129:12 [INFO] [stdout] | [INFO] [stdout] 129 | pub fn precise_sleep(duration: Duration) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `prefetch_hint` is never used [INFO] [stdout] --> src/platform.rs:163:12 [INFO] [stdout] | [INFO] [stdout] 163 | pub fn prefetch_hint(ptr: *const T) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `cache_line_size` is never used [INFO] [stdout] --> src/platform.rs:191:18 [INFO] [stdout] | [INFO] [stdout] 191 | pub const fn cache_line_size() -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `align_to_cache_line` is never used [INFO] [stdout] --> src/platform.rs:205:18 [INFO] [stdout] | [INFO] [stdout] 205 | pub const fn align_to_cache_line(size: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `supports_ecn` is never used [INFO] [stdout] --> src/platform.rs:227:12 [INFO] [stdout] | [INFO] [stdout] 227 | pub fn supports_ecn() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_socket_options` is never used [INFO] [stdout] --> src/platform.rs:238:12 [INFO] [stdout] | [INFO] [stdout] 238 | pub fn get_socket_options() -> Vec<(&'static str, i32)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_tuning_recommendations` is never used [INFO] [stdout] --> src/platform.rs:383:12 [INFO] [stdout] | [INFO] [stdout] 383 | pub fn get_tuning_recommendations() -> Vec<(&'static str, &'static str)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_tuning_guide` is never used [INFO] [stdout] --> src/platform.rs:419:12 [INFO] [stdout] | [INFO] [stdout] 419 | pub fn print_tuning_guide() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> examples/performance_comparison.rs:277:14 [INFO] [stdout] | [INFO] [stdout] 277 | for (name, controller) in [ [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `bandwidth_mbps` is never read [INFO] [stdout] --> examples/performance_comparison.rs:215:5 [INFO] [stdout] | [INFO] [stdout] 209 | struct TestScenario { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 215 | bandwidth_mbps: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TestScenario` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `start_time` is never read [INFO] [stdout] --> examples/advanced_scenarios.rs:47:5 [INFO] [stdout] | [INFO] [stdout] 19 | struct AdvancedNetworkMetrics { [INFO] [stdout] | ---------------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 47 | start_time: Instant, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AdvancedNetworkMetrics` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `print_detailed_stats` is never used [INFO] [stdout] --> examples/advanced_scenarios.rs:82:8 [INFO] [stdout] | [INFO] [stdout] 54 | impl AdvancedNetworkMetrics { [INFO] [stdout] | --------------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 82 | fn print_detailed_stats(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `print_trend_analysis`, `calculate_rtt_trend`, `calculate_bandwidth_trend`, and `calculate_loss_trend` are never used [INFO] [stdout] --> examples/advanced_scenarios.rs:237:8 [INFO] [stdout] | [INFO] [stdout] 228 | impl AdvancedMetricsWindow { [INFO] [stdout] | -------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 237 | fn print_trend_analysis(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 260 | fn calculate_rtt_trend(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 277 | fn calculate_bandwidth_trend(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 294 | fn calculate_loss_trend(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `format_trend` is never used [INFO] [stdout] --> examples/advanced_scenarios.rs:377:4 [INFO] [stdout] | [INFO] [stdout] 377 | fn format_trend(trend: f64) -> String { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1.01s [INFO] running `Command { std: "docker" "inspect" "1fc190ea08821acea26fbe9fca6d0cd722b94761de708fcb0e848fc309b1165d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1fc190ea08821acea26fbe9fca6d0cd722b94761de708fcb0e848fc309b1165d", kill_on_drop: false }` [INFO] [stdout] 1fc190ea08821acea26fbe9fca6d0cd722b94761de708fcb0e848fc309b1165d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] fcefff922823c222df1a1cbc581b94f2c583d591b9899df4b47d018d085e3ea8 [INFO] running `Command { std: "docker" "start" "-a" "fcefff922823c222df1a1cbc581b94f2c583d591b9899df4b47d018d085e3ea8", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `std::time::Duration` [INFO] [stderr] --> src/constants.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use std::time::Duration; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition value: `profiling` [INFO] [stderr] --> src/constants.rs:365:11 [INFO] [stderr] | [INFO] [stderr] 365 | #[cfg(feature = "profiling")] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: expected values for `feature` are: `bbr`, `cubic`, `default`, `platform-optimized`, and `simd` [INFO] [stderr] = help: consider adding `profiling` as a feature in `Cargo.toml` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition value: `profiling` [INFO] [stderr] --> src/constants.rs:367:15 [INFO] [stderr] | [INFO] [stderr] 367 | #[cfg(not(feature = "profiling"))] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: expected values for `feature` are: `bbr`, `cubic`, `default`, `platform-optimized`, and `simd` [INFO] [stderr] = help: consider adding `profiling` as a feature in `Cargo.toml` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::time::Duration` [INFO] [stderr] --> src/platform.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use std::time::Duration; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `#[inline]` attribute cannot be used on required trait methods [INFO] [stderr] --> src/algorithms.rs:35:5 [INFO] [stderr] | [INFO] [stderr] 35 | #[inline(always)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = help: `#[inline]` can be applied to closures, functions, inherent methods, provided trait methods, and trait methods in impl blocks [INFO] [stderr] = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rtt` [INFO] [stderr] --> src/manager.rs:403:25 [INFO] [stderr] | [INFO] [stderr] 403 | for &(_, bytes, rtt) in acks { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_rtt` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: constant `MIN_RTT_THRESHOLD_US` is never used [INFO] [stderr] --> src/constants.rs:13:15 [INFO] [stderr] | [INFO] [stderr] 13 | pub const MIN_RTT_THRESHOLD_US: u64 = 1000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: constant `MAX_RTT_THRESHOLD_US` is never used [INFO] [stderr] --> src/constants.rs:16:15 [INFO] [stderr] | [INFO] [stderr] 16 | pub const MAX_RTT_THRESHOLD_US: u64 = 10_000_000; // 10 seconds [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `MAX_CWND` is never used [INFO] [stderr] --> src/constants.rs:25:15 [INFO] [stderr] | [INFO] [stderr] 25 | pub const MAX_CWND: u64 = 0x7fff_ffff; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `PACING_GAIN_PRECISION` is never used [INFO] [stderr] --> src/constants.rs:31:15 [INFO] [stderr] | [INFO] [stderr] 31 | pub const PACING_GAIN_PRECISION: u64 = 1000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `BW_ESTIMATION_WINDOW` is never used [INFO] [stderr] --> src/constants.rs:34:15 [INFO] [stderr] | [INFO] [stderr] 34 | pub const BW_ESTIMATION_WINDOW: usize = 10; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `RTT_ALPHA` is never used [INFO] [stderr] --> src/constants.rs:37:15 [INFO] [stderr] | [INFO] [stderr] 37 | pub const RTT_ALPHA: f64 = 0.125; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `RTT_BETA` is never used [INFO] [stderr] --> src/constants.rs:40:15 [INFO] [stderr] | [INFO] [stderr] 40 | pub const RTT_BETA: f64 = 0.25; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `MIN_PACING_RATE` is never used [INFO] [stderr] --> src/constants.rs:43:15 [INFO] [stderr] | [INFO] [stderr] 43 | pub const MIN_PACING_RATE: u64 = 1000; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `MAX_PACING_RATE` is never used [INFO] [stderr] --> src/constants.rs:46:15 [INFO] [stderr] | [INFO] [stderr] 46 | pub const MAX_PACING_RATE: u64 = 100_000_000_000; // 100 Gbps [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `HIGH_LOSS_THRESHOLD` is never used [INFO] [stderr] --> src/constants.rs:52:15 [INFO] [stderr] | [INFO] [stderr] 52 | pub const HIGH_LOSS_THRESHOLD: f64 = 0.05; // 5% [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `HIGH_RTT_CV_THRESHOLD` is never used [INFO] [stderr] --> src/constants.rs:55:15 [INFO] [stderr] | [INFO] [stderr] 55 | pub const HIGH_RTT_CV_THRESHOLD: f64 = 0.3; // 30% [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `LOW_BW_UTIL_THRESHOLD` is never used [INFO] [stderr] --> src/constants.rs:58:15 [INFO] [stderr] | [INFO] [stderr] 58 | pub const LOW_BW_UTIL_THRESHOLD: f64 = 0.7; // 70% [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `ACK_BATCH_SIZE` is never used [INFO] [stderr] --> src/constants.rs:61:15 [INFO] [stderr] | [INFO] [stderr] 61 | pub const ACK_BATCH_SIZE: usize = 32; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `CACHE_LINE_SIZE` is never used [INFO] [stderr] --> src/constants.rs:64:15 [INFO] [stderr] | [INFO] [stderr] 64 | pub const CACHE_LINE_SIZE: usize = 64; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `PROBE_BW_GAIN` is never used [INFO] [stderr] --> src/constants.rs:90:15 [INFO] [stderr] | [INFO] [stderr] 90 | pub const PROBE_BW_GAIN: u64 = 1000; // 1.0 * 1000 [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `PROBE_RTT_GAIN` is never used [INFO] [stderr] --> src/constants.rs:93:15 [INFO] [stderr] | [INFO] [stderr] 93 | pub const PROBE_RTT_GAIN: u64 = 1000; // 1.0 * 1000 [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `PROBE_RTT_DURATION` is never used [INFO] [stderr] --> src/constants.rs:99:15 [INFO] [stderr] | [INFO] [stderr] 99 | pub const PROBE_RTT_DURATION: Duration = Duration::from_millis(200); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `PROBE_RTT_INTERVAL` is never used [INFO] [stderr] --> src/constants.rs:102:15 [INFO] [stderr] | [INFO] [stderr] 102 | pub const PROBE_RTT_INTERVAL: Duration = Duration::from_secs(10); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `RTT_WINDOW_LENGTH` is never used [INFO] [stderr] --> src/constants.rs:105:15 [INFO] [stderr] | [INFO] [stderr] 105 | pub const RTT_WINDOW_LENGTH: Duration = Duration::from_secs(10); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `BW_WINDOW_LENGTH` is never used [INFO] [stderr] --> src/constants.rs:108:15 [INFO] [stderr] | [INFO] [stderr] 108 | pub const BW_WINDOW_LENGTH: Duration = Duration::from_secs(10); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `STARTUP_ROUNDS` is never used [INFO] [stderr] --> src/constants.rs:111:15 [INFO] [stderr] | [INFO] [stderr] 111 | pub const STARTUP_ROUNDS: u32 = 3; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `STARTUP_GROWTH_THRESHOLD` is never used [INFO] [stderr] --> src/constants.rs:114:15 [INFO] [stderr] | [INFO] [stderr] 114 | pub const STARTUP_GROWTH_THRESHOLD: u64 = 1250; // 1.25 * 1000 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `FULL_BW_THRESHOLD` is never used [INFO] [stderr] --> src/constants.rs:117:15 [INFO] [stderr] | [INFO] [stderr] 117 | pub const FULL_BW_THRESHOLD: u64 = 1250; // 1.25 * 1000 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `FULL_BW_COUNT` is never used [INFO] [stderr] --> src/constants.rs:120:15 [INFO] [stderr] | [INFO] [stderr] 120 | pub const FULL_BW_COUNT: u32 = 3; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `PROBE_BW_CYCLE_LEN` is never used [INFO] [stderr] --> src/constants.rs:123:15 [INFO] [stderr] | [INFO] [stderr] 123 | pub const PROBE_BW_CYCLE_LEN: usize = 8; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `EXTRA_ACKED_FILTER_LEN` is never used [INFO] [stderr] --> src/constants.rs:126:15 [INFO] [stderr] | [INFO] [stderr] 126 | pub const EXTRA_ACKED_FILTER_LEN: usize = 10; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `BW_FILTER_LEN` is never used [INFO] [stderr] --> src/constants.rs:129:15 [INFO] [stderr] | [INFO] [stderr] 129 | pub const BW_FILTER_LEN: usize = 10; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `RTT_FILTER_LEN` is never used [INFO] [stderr] --> src/constants.rs:132:15 [INFO] [stderr] | [INFO] [stderr] 132 | pub const RTT_FILTER_LEN: usize = 10; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `PROBE_RTT_CWND_PACKETS` is never used [INFO] [stderr] --> src/constants.rs:135:15 [INFO] [stderr] | [INFO] [stderr] 135 | pub const PROBE_RTT_CWND_PACKETS: u64 = 4; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `BETA` is never used [INFO] [stderr] --> src/constants.rs:138:15 [INFO] [stderr] | [INFO] [stderr] 138 | pub const BETA: u64 = 717; // 0.717 * 1000 (30% decrease) [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `PACING_MARGIN_PERCENT` is never used [INFO] [stderr] --> src/constants.rs:141:15 [INFO] [stderr] | [INFO] [stderr] 141 | pub const PACING_MARGIN_PERCENT: u64 = 1; // 1% [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `C` is never used [INFO] [stderr] --> src/constants.rs:147:15 [INFO] [stderr] | [INFO] [stderr] 147 | pub const C: f64 = 0.4; [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: constant `BETA` is never used [INFO] [stderr] --> src/constants.rs:150:15 [INFO] [stderr] | [INFO] [stderr] 150 | pub const BETA: f64 = 0.7; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `FAST_CONVERGENCE_FACTOR` is never used [INFO] [stderr] --> src/constants.rs:153:15 [INFO] [stderr] | [INFO] [stderr] 153 | pub const FAST_CONVERGENCE_FACTOR: f64 = 0.85; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `TCP_FRIENDLINESS` is never used [INFO] [stderr] --> src/constants.rs:156:15 [INFO] [stderr] | [INFO] [stderr] 156 | pub const TCP_FRIENDLINESS: bool = true; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `HYSTART_ENABLED` is never used [INFO] [stderr] --> src/constants.rs:159:15 [INFO] [stderr] | [INFO] [stderr] 159 | pub const HYSTART_ENABLED: bool = true; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `HYSTART_ACK_TRAIN_THRESHOLD` is never used [INFO] [stderr] --> src/constants.rs:162:15 [INFO] [stderr] | [INFO] [stderr] 162 | pub const HYSTART_ACK_TRAIN_THRESHOLD: u32 = 2; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `HYSTART_DELAY_THRESHOLD_US` is never used [INFO] [stderr] --> src/constants.rs:165:15 [INFO] [stderr] | [INFO] [stderr] 165 | pub const HYSTART_DELAY_THRESHOLD_US: u64 = 2000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `HYSTART_MIN_SAMPLES` is never used [INFO] [stderr] --> src/constants.rs:168:15 [INFO] [stderr] | [INFO] [stderr] 168 | pub const HYSTART_MIN_SAMPLES: u32 = 8; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `EPOCH_LENGTH_US` is never used [INFO] [stderr] --> src/constants.rs:171:15 [INFO] [stderr] | [INFO] [stderr] 171 | pub const EPOCH_LENGTH_US: u64 = 100_000; // 100ms [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `MAX_INCREMENT` is never used [INFO] [stderr] --> src/constants.rs:174:15 [INFO] [stderr] | [INFO] [stderr] 174 | pub const MAX_INCREMENT: f64 = 1.0; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `MIN_INCREMENT` is never used [INFO] [stderr] --> src/constants.rs:177:15 [INFO] [stderr] | [INFO] [stderr] 177 | pub const MIN_INCREMENT: f64 = 0.01; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `INITIAL_SSTHRESH` is never used [INFO] [stderr] --> src/constants.rs:180:15 [INFO] [stderr] | [INFO] [stderr] 180 | pub const INITIAL_SSTHRESH: u64 = 0x7fff_ffff; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `MIN_SSTHRESH` is never used [INFO] [stderr] --> src/constants.rs:183:15 [INFO] [stderr] | [INFO] [stderr] 183 | pub const MIN_SSTHRESH: u64 = 2; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `CUBIC_ROOT_PRECISION` is never used [INFO] [stderr] --> src/constants.rs:186:15 [INFO] [stderr] | [INFO] [stderr] 186 | pub const CUBIC_ROOT_PRECISION: f64 = 1e-6; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `MAX_CUBIC_TIME` is never used [INFO] [stderr] --> src/constants.rs:189:15 [INFO] [stderr] | [INFO] [stderr] 189 | pub const MAX_CUBIC_TIME: f64 = 1000.0; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `TIME_SCALE` is never used [INFO] [stderr] --> src/constants.rs:192:15 [INFO] [stderr] | [INFO] [stderr] 192 | pub const TIME_SCALE: f64 = 1024.0; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `ACK_RATIO` is never used [INFO] [stderr] --> src/constants.rs:195:15 [INFO] [stderr] | [INFO] [stderr] 195 | pub const ACK_RATIO: f64 = 1.0; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `LOSS_EVENT_THRESHOLD` is never used [INFO] [stderr] --> src/constants.rs:198:15 [INFO] [stderr] | [INFO] [stderr] 198 | pub const LOSS_EVENT_THRESHOLD: u32 = 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `HIGH_LOSS_RATE` is never used [INFO] [stderr] --> src/constants.rs:204:15 [INFO] [stderr] | [INFO] [stderr] 204 | pub const HIGH_LOSS_RATE: f64 = 0.05; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `VERY_HIGH_LOSS_RATE` is never used [INFO] [stderr] --> src/constants.rs:207:15 [INFO] [stderr] | [INFO] [stderr] 207 | pub const VERY_HIGH_LOSS_RATE: f64 = 0.10; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `LOW_LOSS_RATE` is never used [INFO] [stderr] --> src/constants.rs:210:15 [INFO] [stderr] | [INFO] [stderr] 210 | pub const LOW_LOSS_RATE: f64 = 0.001; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `HIGH_RTT_VARIATION` is never used [INFO] [stderr] --> src/constants.rs:213:15 [INFO] [stderr] | [INFO] [stderr] 213 | pub const HIGH_RTT_VARIATION: f64 = 0.30; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `LOW_RTT_VARIATION` is never used [INFO] [stderr] --> src/constants.rs:216:15 [INFO] [stderr] | [INFO] [stderr] 216 | pub const LOW_RTT_VARIATION: f64 = 0.10; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `HIGH_BW_UTILIZATION` is never used [INFO] [stderr] --> src/constants.rs:219:15 [INFO] [stderr] | [INFO] [stderr] 219 | pub const HIGH_BW_UTILIZATION: f64 = 0.90; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `LOW_BW_UTILIZATION` is never used [INFO] [stderr] --> src/constants.rs:222:15 [INFO] [stderr] | [INFO] [stderr] 222 | pub const LOW_BW_UTILIZATION: f64 = 0.70; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `VERY_LOW_BW_UTILIZATION` is never used [INFO] [stderr] --> src/constants.rs:225:15 [INFO] [stderr] | [INFO] [stderr] 225 | pub const VERY_LOW_BW_UTILIZATION: f64 = 0.50; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `HIGH_RTT_THRESHOLD_US` is never used [INFO] [stderr] --> src/constants.rs:228:15 [INFO] [stderr] | [INFO] [stderr] 228 | pub const HIGH_RTT_THRESHOLD_US: u64 = 100_000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `LOW_RTT_THRESHOLD_US` is never used [INFO] [stderr] --> src/constants.rs:231:15 [INFO] [stderr] | [INFO] [stderr] 231 | pub const LOW_RTT_THRESHOLD_US: u64 = 10_000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `VERY_HIGH_RTT_THRESHOLD_US` is never used [INFO] [stderr] --> src/constants.rs:234:15 [INFO] [stderr] | [INFO] [stderr] 234 | pub const VERY_HIGH_RTT_THRESHOLD_US: u64 = 500_000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `STABLE_NETWORK_SAMPLES` is never used [INFO] [stderr] --> src/constants.rs:237:15 [INFO] [stderr] | [INFO] [stderr] 237 | pub const STABLE_NETWORK_SAMPLES: usize = 10; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `UNSTABLE_NETWORK_SAMPLES` is never used [INFO] [stderr] --> src/constants.rs:240:15 [INFO] [stderr] | [INFO] [stderr] 240 | pub const UNSTABLE_NETWORK_SAMPLES: usize = 3; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `DEFAULT_SOCKET_BUFFER_SIZE` is never used [INFO] [stderr] --> src/constants.rs:246:15 [INFO] [stderr] | [INFO] [stderr] 246 | pub const DEFAULT_SOCKET_BUFFER_SIZE: usize = 4 * 1024 * 1024; // 4MB [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `MAX_SOCKET_BUFFER_SIZE` is never used [INFO] [stderr] --> src/constants.rs:249:15 [INFO] [stderr] | [INFO] [stderr] 249 | pub const MAX_SOCKET_BUFFER_SIZE: usize = 128 * 1024 * 1024; // 128MB [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `MIN_SOCKET_BUFFER_SIZE` is never used [INFO] [stderr] --> src/constants.rs:252:15 [INFO] [stderr] | [INFO] [stderr] 252 | pub const MIN_SOCKET_BUFFER_SIZE: usize = 64 * 1024; // 64KB [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `PACKET_BUFFER_POOL_SIZE` is never used [INFO] [stderr] --> src/constants.rs:255:15 [INFO] [stderr] | [INFO] [stderr] 255 | pub const PACKET_BUFFER_POOL_SIZE: usize = 1024; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `MAX_PACKET_SIZE` is never used [INFO] [stderr] --> src/constants.rs:258:15 [INFO] [stderr] | [INFO] [stderr] 258 | pub const MAX_PACKET_SIZE: usize = 9000; // Jumbo frame [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `STANDARD_MTU` is never used [INFO] [stderr] --> src/constants.rs:261:15 [INFO] [stderr] | [INFO] [stderr] 261 | pub const STANDARD_MTU: usize = 1500; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `SIMD_ALIGNMENT` is never used [INFO] [stderr] --> src/constants.rs:264:15 [INFO] [stderr] | [INFO] [stderr] 264 | pub const SIMD_ALIGNMENT: usize = 32; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `METRICS_RING_BUFFER_SIZE` is never used [INFO] [stderr] --> src/constants.rs:267:15 [INFO] [stderr] | [INFO] [stderr] 267 | pub const METRICS_RING_BUFFER_SIZE: usize = 256; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `MIN_TIMER_RESOLUTION` is never used [INFO] [stderr] --> src/constants.rs:275:15 [INFO] [stderr] | [INFO] [stderr] 275 | pub const MIN_TIMER_RESOLUTION: Duration = Duration::from_micros(100); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `MAX_TIMER_RESOLUTION` is never used [INFO] [stderr] --> src/constants.rs:278:15 [INFO] [stderr] | [INFO] [stderr] 278 | pub const MAX_TIMER_RESOLUTION: Duration = Duration::from_millis(100); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `PACING_TIMER_RESOLUTION` is never used [INFO] [stderr] --> src/constants.rs:281:15 [INFO] [stderr] | [INFO] [stderr] 281 | pub const PACING_TIMER_RESOLUTION: Duration = Duration::from_micros(500); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `ACK_TIMEOUT_BASE` is never used [INFO] [stderr] --> src/constants.rs:284:15 [INFO] [stderr] | [INFO] [stderr] 284 | pub const ACK_TIMEOUT_BASE: Duration = Duration::from_millis(200); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `ACK_TIMEOUT_MAX` is never used [INFO] [stderr] --> src/constants.rs:287:15 [INFO] [stderr] | [INFO] [stderr] 287 | pub const ACK_TIMEOUT_MAX: Duration = Duration::from_secs(60); [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `RTO_MIN` is never used [INFO] [stderr] --> src/constants.rs:290:15 [INFO] [stderr] | [INFO] [stderr] 290 | pub const RTO_MIN: Duration = Duration::from_millis(200); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `RTO_MAX` is never used [INFO] [stderr] --> src/constants.rs:293:15 [INFO] [stderr] | [INFO] [stderr] 293 | pub const RTO_MAX: Duration = Duration::from_secs(60); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `DELAYED_ACK_TIMEOUT` is never used [INFO] [stderr] --> src/constants.rs:296:15 [INFO] [stderr] | [INFO] [stderr] 296 | pub const DELAYED_ACK_TIMEOUT: Duration = Duration::from_millis(40); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `KEEP_ALIVE_INTERVAL` is never used [INFO] [stderr] --> src/constants.rs:299:15 [INFO] [stderr] | [INFO] [stderr] 299 | pub const KEEP_ALIVE_INTERVAL: Duration = Duration::from_secs(7200); // 2 hours [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `IDLE_TIMEOUT` is never used [INFO] [stderr] --> src/constants.rs:302:15 [INFO] [stderr] | [INFO] [stderr] 302 | pub const IDLE_TIMEOUT: Duration = Duration::from_secs(300); // 5 minutes [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `LN_2` is never used [INFO] [stderr] --> src/constants.rs:308:15 [INFO] [stderr] | [INFO] [stderr] 308 | pub const LN_2: f64 = 0.6931471805599453; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `SQRT_2` is never used [INFO] [stderr] --> src/constants.rs:311:15 [INFO] [stderr] | [INFO] [stderr] 311 | pub const SQRT_2: f64 = 1.4142135623730951; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `E` is never used [INFO] [stderr] --> src/constants.rs:314:15 [INFO] [stderr] | [INFO] [stderr] 314 | pub const E: f64 = 2.718281828459045; [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: constant `PHI` is never used [INFO] [stderr] --> src/constants.rs:317:15 [INFO] [stderr] | [INFO] [stderr] 317 | pub const PHI: f64 = 1.618033988749895; [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `EPSILON` is never used [INFO] [stderr] --> src/constants.rs:320:15 [INFO] [stderr] | [INFO] [stderr] 320 | pub const EPSILON: f64 = 1e-9; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `MAX_SAFE_INTEGER` is never used [INFO] [stderr] --> src/constants.rs:323:15 [INFO] [stderr] | [INFO] [stderr] 323 | pub const MAX_SAFE_INTEGER: u64 = 0x1f_ffff_ffff_ffff; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `FIXED_POINT_SCALE` is never used [INFO] [stderr] --> src/constants.rs:326:15 [INFO] [stderr] | [INFO] [stderr] 326 | pub const FIXED_POINT_SCALE: u64 = 1_000_000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `MAX_SCALED_VALUE` is never used [INFO] [stderr] --> src/constants.rs:329:15 [INFO] [stderr] | [INFO] [stderr] 329 | pub const MAX_SCALED_VALUE: u64 = u64::MAX / FIXED_POINT_SCALE; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `SIMD_ENABLED` is never used [INFO] [stderr] --> src/constants.rs:338:15 [INFO] [stderr] | [INFO] [stderr] 338 | pub const SIMD_ENABLED: bool = false; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `PLATFORM_OPTIMIZED` is never used [INFO] [stderr] --> src/constants.rs:344:15 [INFO] [stderr] | [INFO] [stderr] 344 | pub const PLATFORM_OPTIMIZED: bool = false; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `BBR_ENABLED` is never used [INFO] [stderr] --> src/constants.rs:348:15 [INFO] [stderr] | [INFO] [stderr] 348 | pub const BBR_ENABLED: bool = true; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `CUBIC_ENABLED` is never used [INFO] [stderr] --> src/constants.rs:354:15 [INFO] [stderr] | [INFO] [stderr] 354 | pub const CUBIC_ENABLED: bool = true; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `DEBUG_ENABLED` is never used [INFO] [stderr] --> src/constants.rs:360:15 [INFO] [stderr] | [INFO] [stderr] 360 | pub const DEBUG_ENABLED: bool = true; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `PROFILING_ENABLED` is never used [INFO] [stderr] --> src/constants.rs:368:15 [INFO] [stderr] | [INFO] [stderr] 368 | pub const PROFILING_ENABLED: bool = false; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `us_to_duration` is never used [INFO] [stderr] --> src/constants.rs:377:18 [INFO] [stderr] | [INFO] [stderr] 377 | pub const fn us_to_duration(us: u64) -> std::time::Duration { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `duration_to_us` is never used [INFO] [stderr] --> src/constants.rs:383:12 [INFO] [stderr] | [INFO] [stderr] 383 | pub fn duration_to_us(duration: std::time::Duration) -> u64 { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `scale_pacing_gain` is never used [INFO] [stderr] --> src/constants.rs:389:18 [INFO] [stderr] | [INFO] [stderr] 389 | pub const fn scale_pacing_gain(gain: u64) -> u64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `unscale_pacing_gain` is never used [INFO] [stderr] --> src/constants.rs:395:18 [INFO] [stderr] | [INFO] [stderr] 395 | pub const fn unscale_pacing_gain(scaled_gain: u64) -> u64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `clamp` is never used [INFO] [stderr] --> src/constants.rs:401:12 [INFO] [stderr] | [INFO] [stderr] 401 | pub fn clamp(value: T, min: T, max: T) -> T { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `is_high_loss_rate` is never used [INFO] [stderr] --> src/constants.rs:413:12 [INFO] [stderr] | [INFO] [stderr] 413 | pub fn is_high_loss_rate(loss_rate: f64) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `is_high_rtt_variation` is never used [INFO] [stderr] --> src/constants.rs:419:12 [INFO] [stderr] | [INFO] [stderr] 419 | pub fn is_high_rtt_variation(cv: f64) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `is_low_bandwidth_utilization` is never used [INFO] [stderr] --> src/constants.rs:425:12 [INFO] [stderr] | [INFO] [stderr] 425 | pub fn is_low_bandwidth_utilization(utilization: f64) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `next_power_of_2` is never used [INFO] [stderr] --> src/constants.rs:431:18 [INFO] [stderr] | [INFO] [stderr] 431 | pub const fn next_power_of_2(n: usize) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `align_to_cache_line` is never used [INFO] [stderr] --> src/constants.rs:441:18 [INFO] [stderr] | [INFO] [stderr] 441 | pub const fn align_to_cache_line(size: usize) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `has_high_resolution_timers` is never used [INFO] [stderr] --> src/platform.rs:32:12 [INFO] [stderr] | [INFO] [stderr] 32 | pub fn has_high_resolution_timers() -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `supports_reuseport` is never used [INFO] [stderr] --> src/platform.rs:37:12 [INFO] [stderr] | [INFO] [stderr] 37 | pub fn supports_reuseport() -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `initial_cwnd` is never used [INFO] [stderr] --> src/platform.rs:48:12 [INFO] [stderr] | [INFO] [stderr] 48 | pub fn initial_cwnd() -> u64 { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `max_cwnd` is never used [INFO] [stderr] --> src/platform.rs:59:12 [INFO] [stderr] | [INFO] [stderr] 59 | pub fn max_cwnd() -> u64 { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `min_rtt_threshold` is never used [INFO] [stderr] --> src/platform.rs:70:12 [INFO] [stderr] | [INFO] [stderr] 70 | pub fn min_rtt_threshold() -> Duration { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `pacing_granularity` is never used [INFO] [stderr] --> src/platform.rs:81:12 [INFO] [stderr] | [INFO] [stderr] 81 | pub fn pacing_granularity() -> Duration { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `socket_buffer_size` is never used [INFO] [stderr] --> src/platform.rs:92:12 [INFO] [stderr] | [INFO] [stderr] 92 | pub fn socket_buffer_size() -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `batch_size` is never used [INFO] [stderr] --> src/platform.rs:103:12 [INFO] [stderr] | [INFO] [stderr] 103 | pub fn batch_size() -> usize { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `high_resolution_timestamp` is never used [INFO] [stderr] --> src/platform.rs:121:12 [INFO] [stderr] | [INFO] [stderr] 121 | pub fn high_resolution_timestamp() -> Instant { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `precise_sleep` is never used [INFO] [stderr] --> src/platform.rs:129:12 [INFO] [stderr] | [INFO] [stderr] 129 | pub fn precise_sleep(duration: Duration) { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `prefetch_hint` is never used [INFO] [stderr] --> src/platform.rs:163:12 [INFO] [stderr] | [INFO] [stderr] 163 | pub fn prefetch_hint(ptr: *const T) { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `cache_line_size` is never used [INFO] [stderr] --> src/platform.rs:191:18 [INFO] [stderr] | [INFO] [stderr] 191 | pub const fn cache_line_size() -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `align_to_cache_line` is never used [INFO] [stderr] --> src/platform.rs:205:18 [INFO] [stderr] | [INFO] [stderr] 205 | pub const fn align_to_cache_line(size: usize) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `supports_ecn` is never used [INFO] [stderr] --> src/platform.rs:227:12 [INFO] [stderr] | [INFO] [stderr] 227 | pub fn supports_ecn() -> bool { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `get_socket_options` is never used [INFO] [stderr] --> src/platform.rs:238:12 [INFO] [stderr] | [INFO] [stderr] 238 | pub fn get_socket_options() -> Vec<(&'static str, i32)> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `get_tuning_recommendations` is never used [INFO] [stderr] --> src/platform.rs:383:12 [INFO] [stderr] | [INFO] [stderr] 383 | pub fn get_tuning_recommendations() -> Vec<(&'static str, &'static str)> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `print_tuning_guide` is never used [INFO] [stderr] --> src/platform.rs:419:12 [INFO] [stderr] | [INFO] [stderr] 419 | pub fn print_tuning_guide() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `rat_congestion` (lib) generated 127 warnings (run `cargo fix --lib -p rat_congestion` to apply 4 suggestions) [INFO] [stderr] warning: unused import: `CongestionEvent` [INFO] [stderr] --> examples/basic_usage.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | CongestionEvent, PLATFORM [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `metrics` [INFO] [stderr] --> examples/basic_usage.rs:288:9 [INFO] [stderr] | [INFO] [stderr] 288 | let metrics = MockNetworkMetrics::new(); [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_metrics` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `metrics_window` [INFO] [stderr] --> examples/basic_usage.rs:289:9 [INFO] [stderr] | [INFO] [stderr] 289 | let metrics_window = MockMetricsWindow::new(32); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_metrics_window` [INFO] [stderr] [INFO] [stderr] warning: method `print_stats` is never used [INFO] [stderr] --> examples/basic_usage.rs:51:8 [INFO] [stderr] | [INFO] [stderr] 31 | impl MockNetworkMetrics { [INFO] [stderr] | ----------------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 51 | fn print_stats(&self) { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: method `print_stats` is never used [INFO] [stderr] --> examples/basic_usage.rs:146:8 [INFO] [stderr] | [INFO] [stderr] 138 | impl MockMetricsWindow { [INFO] [stderr] | ---------------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 146 | fn print_stats(&self) { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `base_bandwidth` and `time` are never read [INFO] [stderr] --> examples/basic_usage.rs:225:5 [INFO] [stderr] | [INFO] [stderr] 223 | struct NetworkSimulator { [INFO] [stderr] | ---------------- fields in this struct [INFO] [stderr] 224 | base_rtt: Duration, [INFO] [stderr] 225 | base_bandwidth: u64, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] 226 | packet_size: u32, [INFO] [stderr] 227 | time: Instant, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `name` [INFO] [stderr] --> examples/performance_comparison.rs:277:14 [INFO] [stderr] | [INFO] [stderr] 277 | for (name, controller) in [ [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: field `bandwidth_mbps` is never read [INFO] [stderr] --> examples/performance_comparison.rs:215:5 [INFO] [stderr] | [INFO] [stderr] 209 | struct TestScenario { [INFO] [stderr] | ------------ field in this struct [INFO] [stderr] ... [INFO] [stderr] 215 | bandwidth_mbps: f64, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `TestScenario` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: `rat_congestion` (example "basic_usage") generated 6 warnings (run `cargo fix --example "basic_usage" -p rat_congestion` to apply 3 suggestions) [INFO] [stderr] warning: `rat_congestion` (example "performance_comparison") generated 2 warnings (run `cargo fix --example "performance_comparison" -p rat_congestion` to apply 1 suggestion) [INFO] [stderr] warning: field `start_time` is never read [INFO] [stderr] --> examples/advanced_scenarios.rs:47:5 [INFO] [stderr] | [INFO] [stderr] 19 | struct AdvancedNetworkMetrics { [INFO] [stderr] | ---------------------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 47 | start_time: Instant, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `AdvancedNetworkMetrics` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: method `print_detailed_stats` is never used [INFO] [stderr] --> examples/advanced_scenarios.rs:82:8 [INFO] [stderr] | [INFO] [stderr] 54 | impl AdvancedNetworkMetrics { [INFO] [stderr] | --------------------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 82 | fn print_detailed_stats(&self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `print_trend_analysis`, `calculate_rtt_trend`, `calculate_bandwidth_trend`, and `calculate_loss_trend` are never used [INFO] [stderr] --> examples/advanced_scenarios.rs:237:8 [INFO] [stderr] | [INFO] [stderr] 228 | impl AdvancedMetricsWindow { [INFO] [stderr] | -------------------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 237 | fn print_trend_analysis(&self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 260 | fn calculate_rtt_trend(&self) -> f64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 277 | fn calculate_bandwidth_trend(&self) -> f64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 294 | fn calculate_loss_trend(&self) -> f64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `format_trend` is never used [INFO] [stderr] --> examples/advanced_scenarios.rs:377:4 [INFO] [stderr] | [INFO] [stderr] 377 | fn format_trend(trend: f64) -> String { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `rat_congestion` (example "advanced_scenarios") generated 4 warnings [INFO] [stderr] warning: `rat_congestion` (lib test) generated 127 warnings (127 duplicates) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.04s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rat_congestion-27e2a9640ee16d42) [INFO] [stdout] running 0 tests [INFO] [stderr] Doc-tests rat_congestion [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test src/lib.rs - (line 32) - compile ... ok [INFO] [stdout] test src/lib.rs - (line 21) - compile ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "fcefff922823c222df1a1cbc581b94f2c583d591b9899df4b47d018d085e3ea8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fcefff922823c222df1a1cbc581b94f2c583d591b9899df4b47d018d085e3ea8", kill_on_drop: false }` [INFO] [stdout] fcefff922823c222df1a1cbc581b94f2c583d591b9899df4b47d018d085e3ea8