协议层 Event
协议层 Event 用于通知 NRCP 协议自身的状态变化或异常,不用于承载机器人本体业务故障
与机器人故障 Flow 的边界
机器人本体告警和故障属于业务数据,必须通过专门 Flow 通知。当前版本使用机器人故障 Flow 承载电机、电池、传感器、控制器等本地故障体系
协议层 Event 只描述 NRCP 协议状态,例如:
- Session 状态变化;
- Flow 被关闭或恢复;
- QoS 更新或 QoS 降级;
- 协议错误计数或异常状态;
- 资源限制触发;
Event 类型
| Event | 说明 |
|---|---|
SESSION_EVENT | Session 状态变化,例如进入 DEGRADED 或恢复完成 |
FLOW_EVENT | Flow 状态变化,例如关闭、暂停、恢复 |
QOS_EVENT | QoS 更新、QoS 降级或 QoS 异常 |
PROTOCOL_FAULT_EVENT | 协议层故障,例如连续解码失败或异常消息风暴 |
Payload
协议层 Event Payload 默认使用 JSON,字段定义如下:
| 字段 | 必填 | 含义 |
|---|---|---|
event | 是 | Event 名称 |
severity | 是 | 严重程度 |
related_message_id | 否 | 关联消息 ID |
channel_id | 否 | 关联 Flow |
flow_epoch | 否 | 关联 Flow Epoch |
reason | 是 | 原因码 |
message | 否 | 可读说明 |
details | 否 | 扩展对象 |
当前版本保留 QOS_EVENT 和 PROTOCOL_FAULT_EVENT 的 Message Type,但不要求实现 QoS 降级流程