Skip to main content

Module progress

Module progress 

Source
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.
SpeedMeter
Rolling-window throughput. PRD §17: downloaded / runtime is 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.

Enums§

Event
NoteLevel