pub struct MemoryFlowDecisionLedger { /* private fields */ }Implementations§
Trait Implementations§
Source§impl Debug for MemoryFlowDecisionLedger
impl Debug for MemoryFlowDecisionLedger
Source§impl Default for MemoryFlowDecisionLedger
impl Default for MemoryFlowDecisionLedger
Source§fn default() -> MemoryFlowDecisionLedger
fn default() -> MemoryFlowDecisionLedger
Returns the “default value” for a type. Read more
Source§impl FlowDecisionLedger for MemoryFlowDecisionLedger
impl FlowDecisionLedger for MemoryFlowDecisionLedger
fn claim<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
decision_id: &'life1 str,
request_hash: &'life2 str,
owner_id: &'life3 str,
now_ms: u64,
lease_ms: u64,
) -> Pin<Box<dyn Future<Output = Result<FlowDecisionClaimOutcome>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Source§fn renew<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
decision_id: &'life1 str,
request_hash: &'life2 str,
owner_id: &'life3 str,
now_ms: u64,
lease_ms: u64,
) -> Pin<Box<dyn Future<Output = Result<bool>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn renew<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
decision_id: &'life1 str,
request_hash: &'life2 str,
owner_id: &'life3 str,
now_ms: u64,
lease_ms: u64,
) -> Pin<Box<dyn Future<Output = Result<bool>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Extend a pending claim only while it is still owned by
owner_id.
Returns false after completion, takeover, release, or identity conflict.Source§fn inspect<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
decision_id: &'life1 str,
request_hash: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<FlowDecisionClaimState>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn inspect<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
decision_id: &'life1 str,
request_hash: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<FlowDecisionClaimState>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Inspect a claim without revealing its owner token. Read more
Source§fn inspect_with_identity<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
decision_id: &'life1 str,
request_hash: &'life2 str,
identity: &'life3 ExecutionIdentityV1,
) -> Pin<Box<dyn Future<Output = Result<FlowDecisionClaimState>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn inspect_with_identity<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
decision_id: &'life1 str,
request_hash: &'life2 str,
identity: &'life3 ExecutionIdentityV1,
) -> Pin<Box<dyn Future<Output = Result<FlowDecisionClaimState>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Inspect a claim while validating its canonical execution identity.
fn complete<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
decision_id: &'life1 str,
request_hash: &'life2 str,
owner_id: &'life3 str,
completed_at_ms: u64,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Source§fn complete_with_identity<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
decision_id: &'life1 str,
request_hash: &'life2 str,
identity: &'life3 ExecutionIdentityV1,
owner_id: &'life4 str,
completed_at_ms: u64,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
fn complete_with_identity<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
decision_id: &'life1 str,
request_hash: &'life2 str,
identity: &'life3 ExecutionIdentityV1,
owner_id: &'life4 str,
completed_at_ms: u64,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
Complete a pending claim only when its canonical execution identity
still matches the record that was admitted. The default keeps custom
host ledgers source-compatible; built-in ledgers persist and fence the
identity together with the owner and lease checks.
fn release<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
decision_id: &'life1 str,
request_hash: &'life2 str,
owner_id: &'life3 str,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Source§fn claim_with_identity<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
decision_id: &'life1 str,
request_hash: &'life2 str,
identity: &'life3 ExecutionIdentityV1,
owner_id: &'life4 str,
now_ms: u64,
lease_ms: u64,
) -> Pin<Box<dyn Future<Output = Result<FlowDecisionClaimOutcome>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
fn claim_with_identity<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
decision_id: &'life1 str,
request_hash: &'life2 str,
identity: &'life3 ExecutionIdentityV1,
owner_id: &'life4 str,
now_ms: u64,
lease_ms: u64,
) -> Pin<Box<dyn Future<Output = Result<FlowDecisionClaimOutcome>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
Claim a decision while binding its canonical execution identity. The
default preserves source compatibility for host ledgers; built-in
ledgers persist and fence on the identity.
Source§fn renew_with_identity<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
decision_id: &'life1 str,
request_hash: &'life2 str,
identity: &'life3 ExecutionIdentityV1,
owner_id: &'life4 str,
now_ms: u64,
lease_ms: u64,
) -> Pin<Box<dyn Future<Output = Result<bool>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
fn renew_with_identity<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
decision_id: &'life1 str,
request_hash: &'life2 str,
identity: &'life3 ExecutionIdentityV1,
owner_id: &'life4 str,
now_ms: u64,
lease_ms: u64,
) -> Pin<Box<dyn Future<Output = Result<bool>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
Renew only when both the legacy request key and canonical identity
still belong to the admitted worker.
Source§fn complete_with_receipt<'life0, 'life1, 'life2, 'life3, 'life4, 'life5, 'async_trait>(
&'life0 self,
decision_id: &'life1 str,
request_hash: &'life2 str,
identity: &'life3 ExecutionIdentityV1,
owner_id: &'life4 str,
receipt: &'life5 ExecutionResultReceiptV1,
completed_at_ms: u64,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
'life5: 'async_trait,
fn complete_with_receipt<'life0, 'life1, 'life2, 'life3, 'life4, 'life5, 'async_trait>(
&'life0 self,
decision_id: &'life1 str,
request_hash: &'life2 str,
identity: &'life3 ExecutionIdentityV1,
owner_id: &'life4 str,
receipt: &'life5 ExecutionResultReceiptV1,
completed_at_ms: u64,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
'life5: 'async_trait,
Complete with a bounded digest-only result receipt. The default keeps
third-party ledgers source-compatible but cannot persist the receipt.
Source§fn release_with_identity<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
decision_id: &'life1 str,
request_hash: &'life2 str,
identity: &'life3 ExecutionIdentityV1,
owner_id: &'life4 str,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
fn release_with_identity<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
decision_id: &'life1 str,
request_hash: &'life2 str,
identity: &'life3 ExecutionIdentityV1,
owner_id: &'life4 str,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
Release only when the canonical identity also matches. Legacy ledgers
fall back to their existing request/owner fence.
Source§fn completed_receipt<'life0, 'life1, 'async_trait>(
&'life0 self,
decision_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Option<ExecutionResultReceiptV1>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn completed_receipt<'life0, 'life1, 'async_trait>(
&'life0 self,
decision_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Option<ExecutionResultReceiptV1>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Return a terminal receipt when the ledger supports result persistence.
Auto Trait Implementations§
impl !Freeze for MemoryFlowDecisionLedger
impl !RefUnwindSafe for MemoryFlowDecisionLedger
impl !UnwindSafe for MemoryFlowDecisionLedger
impl Send for MemoryFlowDecisionLedger
impl Sync for MemoryFlowDecisionLedger
impl Unpin for MemoryFlowDecisionLedger
impl UnsafeUnpin for MemoryFlowDecisionLedger
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
Source§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more