主题
Runtime Connection
状态
disconnectedconnectinginitializedrecoveringreconnect_requestedclosed
首次连接
- runtime attach
- 平台返回
Session上下文、runtimeConnectionId,以及裁剪后的 SDK capability 集 - 当前 attempt 冻结 attach 时协商得到的
sdkCapabilitySnapshot - runtime 进入
initialized - 主输入桥与输出桥建立
重连
- 连接中断
- runtime 重新 attach 或重建 transport
- 重连时沿用当前 attempt 已冻结的
sdkCapabilitySnapshot - 重连 init 成功后进入
recovering - 调用
recover-connections - 成功则回到
initialized
规范要求
- reconnect
MUST NOT伪造新的RUN_STARTED recover-connectionsMUST只恢复连接与桥接,不得重放业务生命周期- 旧连接的迟到完成
MUST被忽略,不得破坏新 owner - recover 失败
SHOULD触发受控 forced reconnect,而不是直接向业务代码抛出生命周期错误 - attach 协商得到的 capability 集
MUST进入 attempt 事实,以便审计、排障与恢复判断 - 同一
SessionMAY在一个 attempt 内先后绑定多个RuntimeConnection;只有最新 ownerMUST被视为有效连接 - reconnect
MUST NOT在同一 attempt 内修改既有sdkCapabilitySnapshot;如能力集已不兼容,平台MUST拒绝恢复并交由 orchestrator 创建新 attempt 或失败 - 读面
SHOULD暴露RuntimeConnection资源查询,以支持按 run、attempt、session 和 id 复盘 owner 切换与 heartbeat 事实