pub struct CapabilityDescriptor {Show 17 fields
pub payload_contract: Option<SagaPayloadContract>,
pub tenant: String,
pub owner: String,
pub replica_identity: String,
pub workflow: String,
pub definition_version: u32,
pub step: String,
pub compensation: DefinitionCompensation,
pub cancel_mode: DefinitionCancelMode,
pub allow_unknown: bool,
pub resolution_mode: Option<DefinitionResolutionMode>,
pub transport: String,
pub endpoint: String,
pub effective_saga_base_path: Option<String>,
pub result_contract_digest: Option<String>,
pub route_generation: u64,
pub requested_lease_ms: u64,
}Expand description
业务作用:声明参与方当前可执行步骤的协议和逐实例地址事实。
Fields§
§payload_contract: Option<SagaPayloadContract>本 handler 接受的正文合同,必须与 definition 中对应步骤一致。
tenant: String能力获准服务的租户,必须与 definition key 和授权范围一致。
owner: String能力所属逻辑服务身份,必须与认证主体一致。
replica_identity: String当前副本的稳定身份,用于租约续租。
workflow: String支持的 workflow。
definition_version: u32支持的 definition 版本。
step: String支持的步骤名称。
compensation: DefinitionCompensation步骤补偿能力。
cancel_mode: DefinitionCancelMode步骤取消形态。
allow_unknown: bool是否托管未知结果解决入口。
resolution_mode: Option<DefinitionResolutionMode>托管的解决模式;禁止未知时为空。
transport: Stringcommand transport 的稳定名称。
endpoint: String当前实例 origin 或 broker route,不包含凭据。
effective_saga_base_path: Option<String>HTTP 模式下实际生效的 Saga 基础路径。
result_contract_digest: Option<String>result producer 与 Orchestrator 接收端共同持有的协议专属凭据或后端合同摘要。
route_generation: u64endpoint 与路径绑定的单调 route generation;持久值由 Catalog 在主键行锁内分配。
requested_lease_ms: u64客户端建议的租约时长;服务端执行有界裁剪。
Implementations§
Source§impl CapabilityDescriptor
impl CapabilityDescriptor
Sourcepub fn digest(&self) -> String
pub fn digest(&self) -> String
业务作用:计算不受续租建议影响的 capability 内容摘要,供幂等续租与 route 变更检测。
参数说明: 无。
返回:覆盖 owner、步骤合同、transport、endpoint 与 route generation 的小写十六进制摘要。
Sourcepub fn route_contract_digest(&self) -> String
pub fn route_contract_digest(&self) -> String
业务作用:计算不含租约建议和已分配代际的路由合同摘要,供 Catalog 判断真实内容是否变化。
参数说明: 无。
返回:覆盖身份、步骤语义、transport、endpoint 与有效路径的稳定小写十六进制摘要。
Sourcepub fn matches_step(
&self,
tenant: &str,
definition: &WorkflowDefinition,
step: &StepDefinition,
) -> bool
pub fn matches_step( &self, tenant: &str, definition: &WorkflowDefinition, step: &StepDefinition, ) -> bool
业务作用:复验 capability 与 definition 中被引用步骤的不可变语义一致。
参数说明:tenant 是候选流程的授权租户,definition 是候选流程,step 是其中一个步骤。
返回:owner、步骤身份、版本与能力完全一致时为真。