fumble 0.6.1

an oxidized implementation of the original clumsy tool, designed to simulate adverse network conditions on Windows systems.
Build #1331955 2024-08-21T08:34:34.392321+00:00
# rustc version
rustc 1.82.0-nightly (5aea14073 2024-08-20)# docs.rs version
docsrs 0.6.0 (a6155e2c 2024-08-13)# build log
[INFO] running `Command { std: "docker" "create" "-v" "/home/cratesfyi/workspace/builds/fumble-0.6.1/target:/opt/rustwide/target:rw,Z" "-v" "/home/cratesfyi/workspace/builds/fumble-0.6.1/source:/opt/rustwide/workdir:ro,Z" "-v" "/home/cratesfyi/workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/home/cratesfyi/workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "DOCS_RS=1" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "6442450944" "--cpus" "6" "--user" "1001:1001" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "rustdoc" "--lib" "-Zrustdoc-map" "--config" "build.rustdocflags=[\"--cfg\", \"docsrs\", \"-Z\", \"unstable-options\", \"--emit=invocation-specific\", \"--resource-suffix\", \"-20240820-1.82.0-nightly-5aea14073\", \"--static-root-path\", \"/-/rustdoc.static/\", \"--cap-lints\", \"warn\", \"--extern-html-root-takes-precedence\"]" "--offline" "-Zunstable-options" "--config=doc.extern-map.registries.crates-io=\"https://docs.rs/{pkg_name}/{version}/x86_64-unknown-linux-gnu\"" "-Zrustdoc-scrape-examples" "-j6" "--target" "x86_64-unknown-linux-gnu", kill_on_drop: false }`
[INFO] [stdout] 533f5d84eafbe372b6f728c0b4ddbf740e952e4baa4cba559f9b9e469d033aaa
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "533f5d84eafbe372b6f728c0b4ddbf740e952e4baa4cba559f9b9e469d033aaa", kill_on_drop: false }`
[INFO] [stderr] warning: target filter specified, but no targets matched; this is a no-op
[INFO] [stderr]     Checking serde v1.0.208
[INFO] [stderr]     Checking indexmap v2.4.0
[INFO] [stderr]     Checking strum v0.26.3
[INFO] [stderr]     Checking lru v0.12.4
[INFO] [stderr]     Checking clap v4.5.16
[INFO] [stderr]     Checking windivert v0.6.0
[INFO] [stderr]     Checking rand v0.9.0-alpha.2
[INFO] [stderr] error[E0432]: unresolved import `windivert_sys::address`
[INFO] [stderr]  --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/windivert-0.6.0/src/address.rs:7:20
[INFO] [stderr]   |
[INFO] [stderr] 7 | use windivert_sys::address::*;
[INFO] [stderr]   |                    ^^^^^^^ could not find `address` in `windivert_sys`
[INFO] [stderr] 
[INFO] [stderr] error[E0432]: unresolved imports `windivert_sys::WinDivertParam`, `windivert_sys::WinDivertValueError`
[INFO] [stderr]  --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/windivert-0.6.0/src/error.rs:5:21
[INFO] [stderr]   |
[INFO] [stderr] 5 | use windivert_sys::{WinDivertParam, WinDivertValueError};
[INFO] [stderr]   |                     ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^ no `WinDivertValueError` in the root
[INFO] [stderr]   |                     |
[INFO] [stderr]   |                     no `WinDivertParam` in the root
[INFO] [stderr] 
[INFO] [stderr] error[E0432]: unresolved import `windivert_sys::WinDivertLayer`
[INFO] [stderr]  --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/windivert-0.6.0/src/layer.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use windivert_sys::WinDivertLayer;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `WinDivertLayer` in the root
[INFO] [stderr] 
[INFO] [stderr] error[E0432]: unresolved imports `windivert_sys::ChecksumFlags`, `windivert_sys::WinDivertHelperCalcChecksums`
[INFO] [stderr]  --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/windivert-0.6.0/src/packet.rs:1:21
[INFO] [stderr]   |
[INFO] [stderr] 1 | use windivert_sys::{ChecksumFlags, WinDivertHelperCalcChecksums};
[INFO] [stderr]   |                     ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `WinDivertHelperCalcChecksums` in the root
[INFO] [stderr]   |                     |
[INFO] [stderr]   |                     no `ChecksumFlags` in the root
[INFO] [stderr] 
[INFO] [stderr] error[E0432]: unresolved imports `windivert_sys::WinDivertEvent`, `windivert_sys::WinDivertFlags`, `windivert_sys::WinDivertLayer`, `windivert_sys::WinDivertParam`, `windivert_sys::WinDivertShutdownMode`
[INFO] [stderr]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/windivert-0.6.0/src/lib.rs:21:9
[INFO] [stderr]    |
[INFO] [stderr] 21 |         WinDivertEvent, WinDivertFlags, WinDivertLayer, WinDivertParam, WinDivertShutdownMode,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^ no `WinDivertShutdownMode` in the root
[INFO] [stderr]    |         |               |               |               |
[INFO] [stderr]    |         |               |               |               no `WinDivertParam` in the root
[INFO] [stderr]    |         |               |               no `WinDivertLayer` in the root
[INFO] [stderr]    |         |               no `WinDivertFlags` in the root
[INFO] [stderr]    |         no `WinDivertEvent` in the root
[INFO] [stderr] 
[INFO] [stderr] error[E0432]: unresolved import `sys::address`
[INFO] [stderr]  --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/windivert-0.6.0/src/divert/blocking.rs:8:10
[INFO] [stderr]   |
[INFO] [stderr] 8 | use sys::address::WINDIVERT_ADDRESS;
[INFO] [stderr]   |          ^^^^^^^ could not find `address` in `sys`
[INFO] [stderr] 
[INFO] [stderr] error[E0432]: unresolved imports `sys::WinDivertParam`, `sys::WinDivertShutdownMode`
[INFO] [stderr]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/windivert-0.6.0/src/divert/mod.rs:11:11
[INFO] [stderr]    |
[INFO] [stderr] 11 | use sys::{WinDivertParam, WinDivertShutdownMode};
[INFO] [stderr]    |           ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^ no `WinDivertShutdownMode` in the root
[INFO] [stderr]    |           |
[INFO] [stderr]    |           no `WinDivertParam` in the root
[INFO] [stderr]    |
[INFO] [stderr]    = help: consider importing this unresolved item through its public re-export instead:
[INFO] [stderr]            crate::prelude::WinDivertParam
[INFO] [stderr]    = help: consider importing this unresolved item through its public re-export instead:
[INFO] [stderr]            crate::prelude::WinDivertShutdownMode
[INFO] [stderr] 
[INFO] [stderr]     Checking ratatui v0.28.0
[INFO] [stderr] error[E0599]: no method named `as_ref` found for struct `WinDivertAddress` in the current scope
[INFO] [stderr]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/windivert-0.6.0/src/divert/blocking.rs:100:32
[INFO] [stderr]     |
[INFO] [stderr] 100 |                 packet.address.as_ref(),
[INFO] [stderr]     |                                ^^^^^^ method not found in `WinDivertAddress<L>`
[INFO] [stderr]     |
[INFO] [stderr]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/windivert-0.6.0/src/address.rs:12:1
[INFO] [stderr]     |
[INFO] [stderr] 12  | pub struct WinDivertAddress<L: layer::WinDivertLayerTrait> {
[INFO] [stderr]     | ---------------------------------------------------------- method `as_ref` not found for this struct
[INFO] [stderr]     |
[INFO] [stderr]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]     = note: the following trait defines an item `as_ref`, perhaps you need to implement it:
[INFO] [stderr]             candidate #1: `AsRef`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `as_ref` found for struct `WinDivertAddress` in the current scope
[INFO] [stderr]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/windivert-0.6.0/src/divert/blocking.rs:123:49
[INFO] [stderr]     |
[INFO] [stderr] 123 |             address_buffer.push(*packet.address.as_ref());
[INFO] [stderr]     |                                                 ^^^^^^ method not found in `WinDivertAddress<L>`
[INFO] [stderr]     |
[INFO] [stderr]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/windivert-0.6.0/src/address.rs:12:1
[INFO] [stderr]     |
[INFO] [stderr] 12  | pub struct WinDivertAddress<L: layer::WinDivertLayerTrait> {
[INFO] [stderr]     | ---------------------------------------------------------- method `as_ref` not found for this struct
[INFO] [stderr]     |
[INFO] [stderr]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]     = note: the following trait defines an item `as_ref`, perhaps you need to implement it:
[INFO] [stderr]             candidate #1: `AsRef`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `as_mut` found for struct `WinDivertAddress` in the current scope
[INFO] [stderr]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/windivert-0.6.0/src/packet.rs:39:34
[INFO] [stderr]     |
[INFO] [stderr] 39  |                     self.address.as_mut(),
[INFO] [stderr]     |                                  ^^^^^^ method not found in `WinDivertAddress<NetworkLayer>`
[INFO] [stderr]     |
[INFO] [stderr]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/windivert-0.6.0/src/address.rs:12:1
[INFO] [stderr]     |
[INFO] [stderr] 12  | pub struct WinDivertAddress<L: layer::WinDivertLayerTrait> {
[INFO] [stderr]     | ---------------------------------------------------------- method `as_mut` not found for this struct
[INFO] [stderr]     |
[INFO] [stderr]    ::: /opt/rustwide/rustup-home/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/convert/mod.rs:372:8
[INFO] [stderr]     |
[INFO] [stderr] 372 |     fn as_mut(&mut self) -> &mut T;
[INFO] [stderr]     |        ------
[INFO] [stderr]     |        |
[INFO] [stderr]     |        the method is available for `Box<WinDivertAddress<NetworkLayer>>` here
[INFO] [stderr]     |        the method is available for `Box<&mut WinDivertAddress<NetworkLayer>>` here
[INFO] [stderr]     |        the method is available for `Box<&WinDivertAddress<NetworkLayer>>` here
[INFO] [stderr]     |
[INFO] [stderr] help: consider wrapping the receiver expression with the appropriate type
[INFO] [stderr]     |
[INFO] [stderr] 39  |                     Box::new(self.address).as_mut(),
[INFO] [stderr]     |                     +++++++++            +
[INFO] [stderr] help: consider wrapping the receiver expression with the appropriate type
[INFO] [stderr]     |
[INFO] [stderr] 39  |                     Box::new(&mut self.address).as_mut(),
[INFO] [stderr]     |                     +++++++++++++             +
[INFO] [stderr] help: consider wrapping the receiver expression with the appropriate type
[INFO] [stderr]     |
[INFO] [stderr] 39  |                     Box::new(&self.address).as_mut(),
[INFO] [stderr]     |                     ++++++++++            +
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `as_mut` found for struct `WinDivertAddress` in the current scope
[INFO] [stderr]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/windivert-0.6.0/src/packet.rs:70:34
[INFO] [stderr]     |
[INFO] [stderr] 70  |                     self.address.as_mut(),
[INFO] [stderr]     |                                  ^^^^^^ method not found in `WinDivertAddress<ForwardLayer>`
[INFO] [stderr]     |
[INFO] [stderr]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/windivert-0.6.0/src/address.rs:12:1
[INFO] [stderr]     |
[INFO] [stderr] 12  | pub struct WinDivertAddress<L: layer::WinDivertLayerTrait> {
[INFO] [stderr]     | ---------------------------------------------------------- method `as_mut` not found for this struct
[INFO] [stderr]     |
[INFO] [stderr]    ::: /opt/rustwide/rustup-home/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/convert/mod.rs:372:8
[INFO] [stderr]     |
[INFO] [stderr] 372 |     fn as_mut(&mut self) -> &mut T;
[INFO] [stderr]     |        ------
[INFO] [stderr]     |        |
[INFO] [stderr]     |        the method is available for `Box<WinDivertAddress<ForwardLayer>>` here
[INFO] [stderr]     |        the method is available for `Box<&mut WinDivertAddress<ForwardLayer>>` here
[INFO] [stderr]     |        the method is available for `Box<&WinDivertAddress<ForwardLayer>>` here
[INFO] [stderr]     |
[INFO] [stderr] help: consider wrapping the receiver expression with the appropriate type
[INFO] [stderr]     |
[INFO] [stderr] 70  |                     Box::new(self.address).as_mut(),
[INFO] [stderr]     |                     +++++++++            +
[INFO] [stderr] help: consider wrapping the receiver expression with the appropriate type
[INFO] [stderr]     |
[INFO] [stderr] 70  |                     Box::new(&mut self.address).as_mut(),
[INFO] [stderr]     |                     +++++++++++++             +
[INFO] [stderr] help: consider wrapping the receiver expression with the appropriate type
[INFO] [stderr]     |
[INFO] [stderr] 70  |                     Box::new(&self.address).as_mut(),
[INFO] [stderr]     |                     ++++++++++            +
[INFO] [stderr] 
[INFO] [stderr] Some errors have detailed explanations: E0432, E0599.
[INFO] [stderr] For more information about an error, try `rustc --explain E0432`.
[INFO] [stderr] error: could not compile `windivert` (lib) due to 11 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] running `Command { std: "docker" "inspect" "533f5d84eafbe372b6f728c0b4ddbf740e952e4baa4cba559f9b9e469d033aaa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "533f5d84eafbe372b6f728c0b4ddbf740e952e4baa4cba559f9b9e469d033aaa", kill_on_drop: false }`
[INFO] [stdout] 533f5d84eafbe372b6f728c0b4ddbf740e952e4baa4cba559f9b9e469d033aaa