github lance0/xfr v0.9.8

7 hours ago

Highlights

Fast, accurate TCP teardown (issue #54) — the shutdown() drain on the send path was waiting for bufferbloated send queues to ACK through rate-limited paths, sometimes far past the test duration. Replaced with SO_LINGER=0 (abortive close) on Linux, with tcpi_bytes_acked clamping so abrupt close doesn't overcount discarded tail bytes. macOS keeps graceful shutdown() since it lacks the bytes_acked counter.

Separate send/recv reporting in bidir tests (issue #56)--bidir now reports per-direction bytes and throughput so asymmetric links no longer collapse into a single misleading number. Visible in plain text, JSON (4 new optional fields), CSV (4 new columns), and the TUI throughput panel (↑ X / ↓ Y).

What's New

Added

  • Per-direction reporting in --bidir results (#56)

Fixed

  • TCP teardown no longer blocks on shutdown() drain (#54)
  • Sender-side byte counts clamped to tcpi_bytes_acked to remove ~5-10% overcount on bufferbloated/rate-limited links

Install

# Homebrew
brew install lance0/tap/xfr

# Cargo
cargo install xfr

# Download binary
gh release download v0.9.8 --repo lance0/xfr

Full Changelog: v0.9.7...v0.9.8

Don't miss a new xfr release

NewReleases is sending notifications on new releases.