pub struct ClientPendingOperationRecord { /* private fields */ }Expand description
Pending decision whose successor and executable parts remain unreachable.
Round-3’s authorized order is commit-seal, persist the committed LPCR, then
release. Pending has no persistence API: a crash here means the operation did
not happen and the caller may record it again after restart.
ⓘ
use liminal_protocol::client::ClientPendingOperationRecord;
fn speculative_persistence_is_forbidden(pending: ClientPendingOperationRecord) {
let _bytes = pending.encode_resume_record();
}Implementations§
Source§impl ClientPendingOperationRecord
impl ClientPendingOperationRecord
Sourcepub fn commit(self) -> ClientOperationCommit
pub fn commit(self) -> ClientOperationCommit
Seals the speculative decision as committed without yet releasing its successor aggregate or executable authority.
Sourcepub fn abort(self) -> (ClientParticipantAggregate, ClientRequest)
pub fn abort(self) -> (ClientParticipantAggregate, ClientRequest)
Aborts the speculative successor and returns the unchanged aggregate and refused request.
Trait Implementations§
Source§impl Debug for ClientPendingOperationRecord
impl Debug for ClientPendingOperationRecord
impl Eq for ClientPendingOperationRecord
impl StructuralPartialEq for ClientPendingOperationRecord
Auto Trait Implementations§
impl Freeze for ClientPendingOperationRecord
impl RefUnwindSafe for ClientPendingOperationRecord
impl Send for ClientPendingOperationRecord
impl Sync for ClientPendingOperationRecord
impl Unpin for ClientPendingOperationRecord
impl UnsafeUnpin for ClientPendingOperationRecord
impl UnwindSafe for ClientPendingOperationRecord
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