pub struct ObserverProgressProjection { /* private fields */ }Expand description
Move-only exact observer-progress projection emitted by a committed source.
Participant acknowledgement and binding-ending transitions own the progress value. Consuming code can persist and publish this projection but cannot construct one from a guessed maximum or record-delivery observation.
ⓘ
use liminal_protocol::lifecycle::ObserverProgressProjection;
fn require_clone<T: Clone>() {}
require_clone::<ObserverProgressProjection>();Implementations§
Source§impl ObserverProgressProjection
impl ObserverProgressProjection
Sourcepub const fn conversation_id(&self) -> ConversationId
pub const fn conversation_id(&self) -> ConversationId
Returns the conversation whose hard observer progress may advance.
Sourcepub const fn new_observer_progress(&self) -> DeliverySeq
pub const fn new_observer_progress(&self) -> DeliverySeq
Returns the exact protocol-produced hard observer progress.
Source§impl ObserverProgressProjection
impl ObserverProgressProjection
Sourcepub fn encode_checkpoint(&self) -> [u8; 16]
pub fn encode_checkpoint(&self) -> [u8; 16]
Borrows the source conversation and exact hard progress into canonical bytes.
Sourcepub fn restore_checkpoint(
body: &[u8],
source: Self,
) -> Result<Self, OwnerCheckpointRestoreError>
pub fn restore_checkpoint( body: &[u8], source: Self, ) -> Result<Self, OwnerCheckpointRestoreError>
Reassociates saved bytes with their protocol-produced committed source.
The validated source moves into the result; this does not mint a projection.
§Errors
Refuses any framing, conversation, or exact progress mismatch.
Trait Implementations§
Source§impl Debug for ObserverProgressProjection
impl Debug for ObserverProgressProjection
impl Eq for ObserverProgressProjection
Auto Trait Implementations§
impl Freeze for ObserverProgressProjection
impl RefUnwindSafe for ObserverProgressProjection
impl Send for ObserverProgressProjection
impl Sync for ObserverProgressProjection
impl Unpin for ObserverProgressProjection
impl UnsafeUnpin for ObserverProgressProjection
impl UnwindSafe for ObserverProgressProjection
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