Skip to main content

ObserverProjection

Struct ObserverProjection 

Source
pub struct ObserverProjection { /* private fields */ }
Expand description

Observer-projection witness.

Implementations§

Source§

impl ObserverProjection

Source

pub const fn new(through_seq: DeliverySeq) -> Self

Creates an exact observer-projection witness.

Source

pub const fn through_seq(self) -> DeliverySeq

Returns the exact projection boundary.

Source§

impl ObserverProjection

Source

pub const fn apply_ordinary_binding_fate( self, resulting_debt: ClosureDebt, authority: OrdinaryBindingFate, ) -> PendingRecoveredCursorRelease

Applies ordinary no-marker binding fate while this OP remains current.

The opaque fate carries ordinary-attach and exact-terminal provenance; projection completion must retain its cursor-release suffix while debt remains.

Source

pub fn apply_recovered_binding_fate( self, debt: ClosureDebt, resulting_debt: ClosureDebt, authority: RecoveredBindingFate, ) -> Result<RecoveredBindingFateTransition, RecoveredBindingFate>

Applies recovered binding fate while this exact OP remains incomplete.

OP is independent of binding fate, so nonzero debt preserves it and the returned opaque value retains the exact DetachedCursorRelease suffix until projection completion.

§Errors

Returns the unconsumed authority unless it was derived for this exact OP and its exact post-attach debt.

Source

pub fn complete_after_recovered_binding_fate( self, event: Event, resulting_debt: Option<ClosureDebt>, pending: PendingRecoveredCursorRelease, ) -> Result<ClosureState, PendingRecoveredCursorRelease>

Consumes a latent recovered cursor suffix on exact OP completion.

§Errors

Returns the pending authority intact unless it belongs to this exact OP and the completion event reaches its exact boundary.

Source

pub fn complete_after_ordinary_binding_fate( self, event: Event, resulting_debt: Option<ClosureDebt>, pending: PendingRecoveredCursorRelease, ) -> Result<ClosureState, PendingRecoveredCursorRelease>

Consumes a latent ordinary cursor suffix on exact OP completion.

§Errors

Returns the pending authority intact unless it belongs to this exact OP and the completion event reaches the stored projection boundary.

Source

pub const fn clear_after_completion( &self, event: &Event, ) -> Option<ProjectionCompactionSuccessor>

Validates clear selection after this exact projection completes.

Source

pub const fn strict_after_completion( &self, event: &Event, debt: ClosureDebt, edge: StoredEdge, successor_boundary: DeliverySeq, ) -> Option<ProjectionCompactionSuccessor>

Validates a non-DCR strict suffix after this exact projection completes.

Source

pub fn complete( self, debt: ClosureDebt, event: Event, successor: ProjectionCompactionSuccessor, ) -> Result<ClosureState, ClosureState>

Consumes exact projection completion and its predecessor-bound successor.

§Errors

Returns the unchanged owed state when the event or successor authority was not built for this exact projection.

Source

pub const fn later_projection_after_marker( &self, event: &Event, debt: ClosureDebt, successor: Self, ) -> Option<ProjectionCompactionSuccessor>

Validates the exact later OP selected by a preclaimed marker append.

Source

pub fn marker_appended( self, debt: ClosureDebt, event: Event, successor: ProjectionCompactionSuccessor, ) -> Result<ClosureState, ClosureState>

Consumes the marker occurrence and atomically installs its exact later OP.

§Errors

Returns the unchanged owed state when the event-bound successor was built for another projection or occurrence.

Source

pub const fn later_projection_after_leave( &self, event: &Event, debt: ClosureDebt, successor: Self, ) -> Option<ProjectionCompactionSuccessor>

Validates the exact later OP selected atomically by a live or detached Leave.

Source

pub fn leave_with_later_projection( self, debt: ClosureDebt, event: Event, successor: ProjectionCompactionSuccessor, ) -> Result<ClosureState, ClosureState>

Consumes exact Leave and atomically installs its predecessor-bound later OP.

§Errors

Returns the unchanged owed state unless the successor was built for this exact OP and Leave occurrence.

Source

pub const fn independent_event( self, debt: ClosureDebt, event: Event, resulting_debt: Option<ClosureDebt>, ) -> Result<ClosureState, ClosureState>

Consumes an independently valid cursor, marker, fate, or Leave event and preserves this exact OP while debt remains, or clears it with debt.

§Errors

Returns the unchanged owed state for an event outside those independent invalidator classes.

Source

pub const fn charged_binding_change( self, debt: ClosureDebt, episode_churn_used: u64, delta_cycles: u64, episode_churn_limit: u64, resulting_debt: Option<ClosureDebt>, ) -> Result<ClosureState, (ClosureState, DetachedAttachRefusal)>

Applies a binding change only after a positive charged churn preflight.

§Errors

Returns the unchanged state and EpisodeChurnLimit when the delta is zero or would exceed the episode limit.

Trait Implementations§

Source§

impl Clone for ObserverProjection

Source§

fn clone(&self) -> ObserverProjection

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for ObserverProjection

Source§

impl Debug for ObserverProjection

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Eq for ObserverProjection

Source§

impl PartialEq for ObserverProjection

Source§

fn eq(&self, other: &ObserverProjection) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for ObserverProjection

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.