Will It Blend? - TCP Streams
| src | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| mise.toml | ||
| README.md | ||
TCP Sprint
This script demonstrates the risk of interleaving writes when cloning
TcpStream handles across threads, re:
this discussion in the Servo Zulip.
It works by spawning 3 threads: 2 TCP clients, each of which sends predictable
chunks of bytes over a shared connection with TcpStream::write_all(), and 1
TCP listener, which tests whether messages arrive contiguously or scrambled
together.
Messages consist of the range 0x00..=0xff, repeated to fill the desired
message size.
Usage
cargo run <message size in bytes>