pub struct AttemptJournalGuard<'a> { /* private fields */ }Expand description
Exclusive local accounting borrowing stable layout exclusion.
Successful reservation persists consumption before returning its number. It grants no fresh IC authority, backend settlement or subprocess dispatch permission.
Implementations§
Source§impl<'a> AttemptJournalGuard<'a>
impl<'a> AttemptJournalGuard<'a>
Sourcepub fn create(
layout: &'a BackupLayoutGuard,
authority: AttemptAuthorityRecord,
) -> Result<Self, AttemptJournalError>
pub fn create( layout: &'a BackupLayoutGuard, authority: AttemptAuthorityRecord, ) -> Result<Self, AttemptJournalError>
Create original exact identity and limits without replacing retained evidence.
§Errors
Rejects unsafe/existing journals, lock contention, replaced layouts and failed persistence.
Sourcepub fn open(
layout: &'a BackupLayoutGuard,
expected: &AttemptAuthorityRecord,
) -> Result<Self, AttemptJournalError>
pub fn open( layout: &'a BackupLayoutGuard, expected: &AttemptAuthorityRecord, ) -> Result<Self, AttemptJournalError>
Open exact retained identity and original budgets, replaying only local events.
§Errors
Rejects identity/budget changes, invalid chronology, missing/unsafe/oversized records and locks.
Sourcepub fn record(&self) -> Result<&AttemptJournalRecord, AttemptJournalError>
pub fn record(&self) -> Result<&AttemptJournalRecord, AttemptJournalError>
Read validated retained accounting without observing remote state.
§Errors
Rejects indeterminate writes or replaced layouts.
Sourcepub fn reserve_mutation(&mut self) -> Result<u32, AttemptJournalError>
pub fn reserve_mutation(&mut self) -> Result<u32, AttemptJournalError>
Durably consume one mutation attempt before any admitted caller-owned call.
§Errors
Rejects unresolved attempts, exhaustion, applied operations and persistence failures.
Sourcepub fn reserve_observation(
&mut self,
mutation: u32,
request: &str,
) -> Result<u32, AttemptJournalError>
pub fn reserve_observation( &mut self, mutation: u32, request: &str, ) -> Result<u32, AttemptJournalError>
Durably consume one observation bound to an exact unresolved mutation and request.
Fresh authority, paid-effect settlement and ended command custody remain caller-owned.
§Errors
Rejects wrong attempts/requests, unresolved observations, exhaustion and failed writes.
Sourcepub fn record_mutation(
&mut self,
receipt: MutationReceiptRequest,
) -> Result<(), AttemptJournalError>
pub fn record_mutation( &mut self, receipt: MutationReceiptRequest, ) -> Result<(), AttemptJournalError>
Retain an exact integration-qualified direct mutation reply.
§Errors
Rejects unmatched identity, absent/unsettled attempts, invalid evidence and failed persistence.
Sourcepub fn record_observation(
&mut self,
receipt: ObservationReceiptRequest,
) -> Result<(), AttemptJournalError>
pub fn record_observation( &mut self, receipt: ObservationReceiptRequest, ) -> Result<(), AttemptJournalError>
Retain an exact observation; unresolved evidence never authorizes another mutation.
The integration qualifies completed observation and paid-effect settlement. A lost observation response stays pending until qualified settlement.
§Errors
Rejects unmatched identity, absent/unsettled attempts, invalid evidence and failed persistence.