pub struct FileEvaluationDispatchLedger { /* private fields */ }Implementations§
Source§impl FileEvaluationDispatchLedger
impl FileEvaluationDispatchLedger
pub fn new(root: impl Into<PathBuf>) -> Self
pub fn with_max_records( root: impl Into<PathBuf>, max_records: usize, ) -> Result<Self, EvaluationDispatchLedgerError>
Sourcepub async fn open(
root: impl Into<PathBuf>,
) -> Result<Self, EvaluationDispatchLedgerError>
pub async fn open( root: impl Into<PathBuf>, ) -> Result<Self, EvaluationDispatchLedgerError>
Open and validate the persisted claim generation before use.
pub async fn open_with_max_records( root: impl Into<PathBuf>, max_records: usize, ) -> Result<Self, EvaluationDispatchLedgerError>
pub fn root(&self) -> &Path
pub fn max_records(&self) -> usize
pub async fn validate_store( &self, ) -> Result<usize, EvaluationDispatchLedgerError>
Trait Implementations§
Source§impl Clone for FileEvaluationDispatchLedger
impl Clone for FileEvaluationDispatchLedger
Source§fn clone(&self) -> FileEvaluationDispatchLedger
fn clone(&self) -> FileEvaluationDispatchLedger
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for FileEvaluationDispatchLedger
impl Debug for FileEvaluationDispatchLedger
Source§impl EvaluationDispatchLedger for FileEvaluationDispatchLedger
impl EvaluationDispatchLedger for FileEvaluationDispatchLedger
fn claim<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
dispatch_id: &'life1 str,
request_digest: &'life2 str,
owner_id: &'life3 str,
now_ms: u64,
lease_ms: u64,
) -> Pin<Box<dyn Future<Output = Result<EvaluationDispatchClaimOutcome, EvaluationDispatchLedgerError>> + 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,
dispatch_id: &'life1 str,
request_digest: &'life2 str,
owner_id: &'life3 str,
now_ms: u64,
lease_ms: u64,
) -> Pin<Box<dyn Future<Output = Result<bool, EvaluationDispatchLedgerError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn complete<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
dispatch_id: &'life1 str,
request_digest: &'life2 str,
owner_id: &'life3 str,
completed_at_ms: u64,
) -> Pin<Box<dyn Future<Output = Result<(), EvaluationDispatchLedgerError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn release<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
dispatch_id: &'life1 str,
request_digest: &'life2 str,
owner_id: &'life3 str,
) -> Pin<Box<dyn Future<Output = Result<(), EvaluationDispatchLedgerError>> + 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,
dispatch_id: &'life1 str,
request_digest: &'life2 str,
identity: &'life3 ExecutionIdentityV1,
owner_id: &'life4 str,
now_ms: u64,
lease_ms: u64,
) -> Pin<Box<dyn Future<Output = Result<EvaluationDispatchClaimOutcome, EvaluationDispatchLedgerError>> + 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,
dispatch_id: &'life1 str,
request_digest: &'life2 str,
identity: &'life3 ExecutionIdentityV1,
owner_id: &'life4 str,
now_ms: u64,
lease_ms: u64,
) -> Pin<Box<dyn Future<Output = Result<EvaluationDispatchClaimOutcome, EvaluationDispatchLedgerError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
Claim a dispatch while binding its canonical execution identity. The
default keeps third-party ledgers source-compatible; built-in ledgers
persist and fence on the identity.
Source§fn renew_with_identity<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
dispatch_id: &'life1 str,
request_digest: &'life2 str,
identity: &'life3 ExecutionIdentityV1,
owner_id: &'life4 str,
now_ms: u64,
lease_ms: u64,
) -> Pin<Box<dyn Future<Output = Result<bool, EvaluationDispatchLedgerError>> + 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,
dispatch_id: &'life1 str,
request_digest: &'life2 str,
identity: &'life3 ExecutionIdentityV1,
owner_id: &'life4 str,
now_ms: u64,
lease_ms: u64,
) -> Pin<Box<dyn Future<Output = Result<bool, EvaluationDispatchLedgerError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
Renew a claim only when both its legacy ledger key and canonical
identity still match the admitted worker.
Source§fn complete_with_receipt<'life0, 'life1, 'life2, 'life3, 'life4, 'life5, 'async_trait>(
&'life0 self,
dispatch_id: &'life1 str,
request_digest: &'life2 str,
identity: &'life3 ExecutionIdentityV1,
owner_id: &'life4 str,
receipt: &'life5 ExecutionResultReceiptV1,
completed_at_ms: u64,
) -> Pin<Box<dyn Future<Output = Result<(), EvaluationDispatchLedgerError>> + 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,
dispatch_id: &'life1 str,
request_digest: &'life2 str,
identity: &'life3 ExecutionIdentityV1,
owner_id: &'life4 str,
receipt: &'life5 ExecutionResultReceiptV1,
completed_at_ms: u64,
) -> Pin<Box<dyn Future<Output = Result<(), EvaluationDispatchLedgerError>> + 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 a claim with a bounded digest-only result receipt.
Source§fn release_with_identity<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
dispatch_id: &'life1 str,
request_digest: &'life2 str,
identity: &'life3 ExecutionIdentityV1,
owner_id: &'life4 str,
) -> Pin<Box<dyn Future<Output = Result<(), EvaluationDispatchLedgerError>> + 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,
dispatch_id: &'life1 str,
request_digest: &'life2 str,
identity: &'life3 ExecutionIdentityV1,
owner_id: &'life4 str,
) -> Pin<Box<dyn Future<Output = Result<(), EvaluationDispatchLedgerError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
Release a claim only when its canonical identity also matches. Legacy
implementations fall back to the existing request/owner fence.
Source§fn completed_receipt<'life0, 'life1, 'async_trait>(
&'life0 self,
dispatch_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Option<ExecutionResultReceiptV1>, EvaluationDispatchLedgerError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn completed_receipt<'life0, 'life1, 'async_trait>(
&'life0 self,
dispatch_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Option<ExecutionResultReceiptV1>, EvaluationDispatchLedgerError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Read the terminal receipt when the ledger supports result persistence.
fn prune_completed<'life0, 'async_trait>(
&'life0 self,
before_ms: u64,
) -> Pin<Box<dyn Future<Output = Result<usize, EvaluationDispatchLedgerError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Auto Trait Implementations§
impl !RefUnwindSafe for FileEvaluationDispatchLedger
impl !UnwindSafe for FileEvaluationDispatchLedger
impl Freeze for FileEvaluationDispatchLedger
impl Send for FileEvaluationDispatchLedger
impl Sync for FileEvaluationDispatchLedger
impl Unpin for FileEvaluationDispatchLedger
impl UnsafeUnpin for FileEvaluationDispatchLedger
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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