通信、会话与投递模型
消息如何获得稳定身份、进入会话并经历可验证的投递生命周期。
confirmed4 elements模型判断
Meshtastic、MeshCore 与 Reticulum 的线协议不同,但用户消息不能因此分裂成三套业务模型。统一发生在意图与投递事件层;协议差异停留在 backend 边界。
不变量
- 重复 RX/ACK 不创建第二条业务消息。
- 终态只能由可验证事件驱动,UI 不猜测。
- 重试不改变原消息业务身份。
- 协议 namespace 参与持久化与去重键。
领域元素
ChatMessage / Conversation — 用户可见的消息与上下文。
ChatMessageLedger — 投递事实唯一提交入口。
ReceivePacketService — 接收验证与业务提交边界。
源码证据
modules/core_chat/include/chat/delivery/chat_message_ledger.hmodules/core_chat/src/delivery/chat_message_ledger.cppmodules/core_mesh/include/mesh/usecase/receive_packet_service.h