Expand description
Progress telemetry (PRD §17, §18).
The transfer engine never renders anything. It emits Events and bumps
atomic counters in Stats; a consumer (CLI renderer, JSON writer, future
TUI or daemon) subscribes and decides what a human should see.
Byte-level progress deliberately does not travel through the channel one
message per socket read — at multi-gigabit that is tens of thousands of
messages a second. Workers bump a relaxed atomic on every write and emit a
coalesced Event::BytesWritten at most every 100 ms. Consumers that want
smooth output sample Stats on their own clock.
Structs§
- Reporter
- The engine’s handle for publishing telemetry. Cloneable into every worker.
- Snapshot
- What a renderer needs for one frame.
- Speed
Meter - Rolling-window throughput. PRD §17:
downloaded / runtimeis a bad speed readout, because it cannot fall when the network stalls. - Stats
- Hot-path counters. Cheap to read, cheap to bump, safe to share.