Skip to content

实时与通信

普通 submit_auto(lambda)submit_periodic() 走默认异步路径;固定周期控制、周期预算、实时队列或长期可中断 I/O 才需要进入本专题。它们不是同一个抽象层。

如果还没有看过组件如何组合,先阅读完整机器人数据流水线:它先建立角色、数据所有权和退出协议,再把每条边映射到具体组件。

  1. 阻塞 I/O worker:通过 start_worker() 管理长期阻塞循环的所有权、唤醒与 join;协议仍由应用定义。
  2. 启动专用实时控制循环:把综合示例中的普通周期模拟替换为可诊断实时 Facade。
  3. 选择消息传递方式:普通帧流与实时周期内有限 drain。
  4. 最新值、状态快照与阶段同步:配置、完整状态与启动顺序。
  5. 通信可观察性:统一理解 CommStats 与本地事件 callback。
  6. 容量评估与告警处理:把累计统计转换成窗口速率、消费余量、告警级别和处置动作。
  7. 取消与定时:基于 StopToken 的协作取消与可取消、可重排的定时句柄——以及取消从不承诺的事。

完整 API 见 docs/API.md;综合示例的可运行代码是 examples/comm_robot_pipeline.cpp