Skip to content
dgliu edited this page Feb 14, 2026 · 2 revisions

MCCC - Message-Centric Component Communication

MCCC 是一个面向安全关键嵌入式系统的无锁 MPSC 消息总线。纯 C++17 实现,header-only(仅 3 个头文件:mccc.hppcomponent.hppstatic_component.hpp),零外部依赖。

核心特性

特性 说明
无锁 MPSC CAS 原子操作,多生产者单消费者
优先级准入控制 HIGH 优先级在过载条件下零丢失
背压监控 四级状态:NORMAL / WARNING / CRITICAL / FULL
零堆分配 Envelope 内嵌 Ring Buffer,热路径无动态内存
类型安全 std::variant 编译期类型检查
MISRA C++ 合规 符合安全关键系统编码规范
深度嵌入式优化 SPSC wait-free、索引缓存、signal fence、BARE_METAL 模式
零开销分发 ProcessBatchWith + CRTP StaticComponent 编译期多态

性能概览

吞吐量

模式 配置 吞吐量 单消息耗时
MPSC FULL_FEATURED 26.27 M/s 38 ns
MPSC BARE_METAL 33.65 M/s 30 ns
SPSC FULL_FEATURED 29.92 M/s 33 ns
SPSC BARE_METAL 38.49 M/s 26 ns

端到端延迟

模式 P50 P99
MPSC 372 ns 525 ns
SPSC 317 ns 392 ns

批处理分发 (ProcessBatchWith)

模式 单消息耗时 相比常规提升
MPSC 129 ns/msg 19%
SPSC 93 ns/msg 42%

优先级准入控制

  • HIGH 优先级:150K 突发过载下 0% 丢失

测试覆盖

  • 171 个测试用例,全部通过

快速导航

项目信息

  • 语言标准: C++17
  • 编译选项: -fno-exceptions -fno-rtti(可选)
  • 目标平台: ARM-Linux 嵌入式 / x86-64 / 裸机 MCU
  • 许可证: MIT

Clone this wiki locally