[INFO] cloning repository https://github.com/0ldm0s/rat_congestion
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/0ldm0s/rat_congestion" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F0ldm0s%2Frat_congestion", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F0ldm0s%2Frat_congestion'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] df351dcaf7f4423e0e439dfcec1ecc32832e2ece
[INFO] checking 0ldm0s/rat_congestion against try#84addd32a13fa2d3f62fe5d99031611147b7fb13 for pr-147565
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F0ldm0s%2Frat_congestion" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/0ldm0s/rat_congestion
[INFO] finished tweaking git repo https://github.com/0ldm0s/rat_congestion
[INFO] tweaked toml for git repo https://github.com/0ldm0s/rat_congestion written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/0ldm0s/rat_congestion on toolchain 84addd32a13fa2d3f62fe5d99031611147b7fb13
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+84addd32a13fa2d3f62fe5d99031611147b7fb13" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/0ldm0s/rat_congestion 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" "+84addd32a13fa2d3f62fe5d99031611147b7fb13" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+84addd32a13fa2d3f62fe5d99031611147b7fb13" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 2c2e02aedbacc4f9540ba9a9abafd28f8dc68e0aa9619930f48884223030a8a9
[INFO] running `Command { std: "docker" "start" "-a" "2c2e02aedbacc4f9540ba9a9abafd28f8dc68e0aa9619930f48884223030a8a9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2c2e02aedbacc4f9540ba9a9abafd28f8dc68e0aa9619930f48884223030a8a9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2c2e02aedbacc4f9540ba9a9abafd28f8dc68e0aa9619930f48884223030a8a9", kill_on_drop: false }`
[INFO] [stdout] 2c2e02aedbacc4f9540ba9a9abafd28f8dc68e0aa9619930f48884223030a8a9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+84addd32a13fa2d3f62fe5d99031611147b7fb13" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 02495a7c50a8f73a995aa54045171e8abf2a309a67c4731d490cf64b30b32baf
[INFO] running `Command { std: "docker" "start" "-a" "02495a7c50a8f73a995aa54045171e8abf2a309a67c4731d490cf64b30b32baf", kill_on_drop: false }`
[INFO] [stderr]     Checking fastrand v2.3.0
[INFO] [stderr]     Checking 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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> 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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> 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 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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` 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: 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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> 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: 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<T: PartialOrd>(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<T>(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: `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<T: PartialOrd>(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<T>(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 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] [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: 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: 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] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.87s
[INFO] running `Command { std: "docker" "inspect" "02495a7c50a8f73a995aa54045171e8abf2a309a67c4731d490cf64b30b32baf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "02495a7c50a8f73a995aa54045171e8abf2a309a67c4731d490cf64b30b32baf", kill_on_drop: false }`
[INFO] [stdout] 02495a7c50a8f73a995aa54045171e8abf2a309a67c4731d490cf64b30b32baf
