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、步骤身份、版本与能力完全一致时为真。
Trait Implementations§
Source§impl Clone for CapabilityDescriptor
impl Clone for CapabilityDescriptor
Source§impl Debug for CapabilityDescriptor
impl Debug for CapabilityDescriptor
Source§impl<'de> Deserialize<'de> for CapabilityDescriptor
impl<'de> Deserialize<'de> for CapabilityDescriptor
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for CapabilityDescriptor
Source§impl PartialEq for CapabilityDescriptor
impl PartialEq for CapabilityDescriptor
Source§impl Serialize for CapabilityDescriptor
impl Serialize for CapabilityDescriptor
impl StructuralPartialEq for CapabilityDescriptor
Auto Trait Implementations§
impl Forget for CapabilityDescriptor
impl Freeze for CapabilityDescriptor
impl Move for CapabilityDescriptor
impl RefUnwindSafe for CapabilityDescriptor
impl Send for CapabilityDescriptor
impl Sync for CapabilityDescriptor
impl Unpin for CapabilityDescriptor
impl UnsafeUnpin for CapabilityDescriptor
impl UnwindSafe for CapabilityDescriptor
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more