Skip to main content

send_line

Function send_line 

Source
pub async fn send_line(args: Arguments<'_>)
Expand description

Back-pressuring line sink — the R10 injection point. A control crate must not depend on this BSP directly; instead it defines its own LineSink-style trait and the binary injects a ~5-line newtype whose send_line forwards here (the trait stays consumer-side, so neither BSP nor control crate depends on the other). This is also the bulk-dump path for the HIL :cat CSV.

Bulk-dump emit (HIL :cat CSV read-back) — back-pressuring (lossless). Unlike the hot log path ([push_line], which overwrites-oldest and never blocks to protect time-critical producers like RWBLE), this AWAITS until the ring has room for the whole line before writing, then signals the drain. So a fast :cat dump self-paces to the TX drain rate instead of overflowing the ~4 KB ring and dropping lines (which made log_interval’s read-back show false gaps). Safe because the dump runs on a non-time-critical task and can tolerate await latency; the log!() path does NOT use this.