#[non_exhaustive]pub enum CancelFlowHeader {
Cancelled {
cancellation_policy: String,
member_execution_ids: Vec<String>,
},
AlreadyTerminal {
stored_cancellation_policy: Option<String>,
stored_cancel_reason: Option<String>,
member_execution_ids: Vec<String>,
},
}Expand description
RFC-017 Stage E2: result of the “header” portion of a cancel_flow operation — the atomic flow-state flip + member enumeration.
The Server composes this with its own wait/async member-dispatch
machinery to build the wire-level CancelFlowResult. Backends
implement crate::engine_backend::EngineBackend::cancel_flow_header
(default: Unavailable) so the Valkey-native ff_cancel_flow
FCALL (with its flow_already_terminal idempotency branch) can be
driven through the trait without re-shaping the existing public
cancel_flow(id, policy, wait) signature.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Cancelled
Flow-state flipped this call. member_execution_ids is the
full (uncapped) membership at flip time.
AlreadyTerminal
Flow was already in a terminal state on entry. The backend has
surfaced the stored cancellation_policy, cancel_reason,
and full membership so the Server can return an idempotent
CancelFlowResult::Cancelled without re-doing the flip.
Trait Implementations§
Source§impl Clone for CancelFlowHeader
impl Clone for CancelFlowHeader
Source§fn clone(&self) -> CancelFlowHeader
fn clone(&self) -> CancelFlowHeader
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more