Expand description
Bounded ground-side delivery to caller-owned telemetry consumers. Pull-based delivery after native archival, independent of UI processing.
One publisher owns reception; one reader owns consumption. Unread frames are
overwritten oldest first. Status is coalesced separately, so a paused reader
can still inspect recording health. This host-only exchange adds no robot
task-path work. Publish only after a successful NativeArchive::accept.
Storage is allocated at construction: a ring, a status slot, and one reader frame. Frames move without cloning. Payload-owned allocations and user-owned projections are outside this bound. Queue operations use Crossbeam atomics; they do not wait for capacity or for user processing, but are not an RT wait-free primitive. Frame destructors and registered wakers must not block.
Structs§
- Telemetry
Publisher - The sole producer of archived frames and current receiver status.
- Telemetry
Read - A stable borrow of one frame, valid until the next mutable reader operation.
- Telemetry
Reader - A single consumer cursor. User code chooses when to read and what to retain.
Functions§
- telemetry_
channel - Creates a preallocated circular delivery buffer and independent status slot.