Skip to content

fix(bench): end transfer timing at verified receiver receipt - #34

Open
rldyourmnd wants to merge 1 commit into
mainfrom
fix/verified-transfer-benchmark
Open

rldyourmnd wants to merge 1 commit into
mainfrom
fix/verified-transfer-benchmark

Conversation

@rldyourmnd

Copy link
Copy Markdown
Contributor

Summary

  • The transfer benchmark stopped its timer at sender finish; a large send window or truncated/stalled receiver could fabricate throughput (W0.2).
  • The TCP target now returns a versioned receipt — byte count + BLAKE3 digest + response EOF — verified by the sender under one operation deadline; the scenario reports as transfer-receiver-ack-v1.
  • Receiver tasks are bounded (8) and owned by the bench world; payload is position-dependent BLAKE3 XOF data exposing duplicated/reordered bytes.
  • Fixed measurement series committed: bench-transfer-20260926-{iroh,noq}.{json,md} (debug profile, 32 MiB, verified goodput 4.4/3.7 MiB/s).
  • Contract: docs/benchmark-transfer.md; progress: docs/remediation-progress.md (W0.2 stays partial — known-rate calibration and phase timings remain open).

Test plan

  • cargo fmt --check
  • cargo clippy --locked --workspace --all-targets -- -D warnings (default + owned-transport lanes)
  • cargo test -p rds-bench — 14 tests, incl. real iroh/noq forwarded-TCP receipts and invalid/missing/truncated receipt refusals
  • GitHub CI (rust lanes ubuntu+macOS, supply chain, CodeQL)

Generated with Devin

The transfer scenario stopped its timer when the sender finished
writing, so a large send window or a stalled/truncated receiver could
fabricate throughput. The TCP target now returns a fixed receipt —
big-endian byte count and BLAKE3 digest after payload EOF, then
response EOF — and the sender verifies all three under one operation
deadline. Reports name the versioned scenario transfer-receiver-ack-v1
with verified-byte and completion metrics; historical sender-finish
numbers stay incomparable by name. Receiver tasks are bounded and
owned by the world.

W0.2 partial; known-rate calibration and phase timings remain open.

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant