pub struct ObserverProjection { /* private fields */ }Expand description
Observer-projection witness.
Implementations§
Source§impl ObserverProjection
impl ObserverProjection
Sourcepub const fn new(through_seq: DeliverySeq) -> Self
pub const fn new(through_seq: DeliverySeq) -> Self
Creates an exact observer-projection witness.
Sourcepub const fn through_seq(self) -> DeliverySeq
pub const fn through_seq(self) -> DeliverySeq
Returns the exact projection boundary.
Source§impl ObserverProjection
impl ObserverProjection
Sourcepub const fn apply_ordinary_binding_fate(
self,
resulting_debt: ClosureDebt,
authority: OrdinaryBindingFate,
) -> PendingRecoveredCursorRelease
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.
Sourcepub fn apply_recovered_binding_fate(
self,
debt: ClosureDebt,
resulting_debt: ClosureDebt,
authority: RecoveredBindingFate,
) -> Result<RecoveredBindingFateTransition, RecoveredBindingFate>
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.
Sourcepub fn complete_after_recovered_binding_fate(
self,
event: Event,
resulting_debt: Option<ClosureDebt>,
pending: PendingRecoveredCursorRelease,
) -> Result<ClosureState, PendingRecoveredCursorRelease>
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.
Sourcepub fn complete_after_ordinary_binding_fate(
self,
event: Event,
resulting_debt: Option<ClosureDebt>,
pending: PendingRecoveredCursorRelease,
) -> Result<ClosureState, PendingRecoveredCursorRelease>
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.
Sourcepub const fn clear_after_completion(
&self,
event: &Event,
) -> Option<ProjectionCompactionSuccessor>
pub const fn clear_after_completion( &self, event: &Event, ) -> Option<ProjectionCompactionSuccessor>
Validates clear selection after this exact projection completes.
Sourcepub const fn strict_after_completion(
&self,
event: &Event,
debt: ClosureDebt,
edge: StoredEdge,
successor_boundary: DeliverySeq,
) -> Option<ProjectionCompactionSuccessor>
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.
Sourcepub fn complete(
self,
debt: ClosureDebt,
event: Event,
successor: ProjectionCompactionSuccessor,
) -> Result<ClosureState, ClosureState>
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.
Sourcepub const fn later_projection_after_marker(
&self,
event: &Event,
debt: ClosureDebt,
successor: Self,
) -> Option<ProjectionCompactionSuccessor>
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.
Sourcepub fn marker_appended(
self,
debt: ClosureDebt,
event: Event,
successor: ProjectionCompactionSuccessor,
) -> Result<ClosureState, ClosureState>
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.
Sourcepub const fn later_projection_after_leave(
&self,
event: &Event,
debt: ClosureDebt,
successor: Self,
) -> Option<ProjectionCompactionSuccessor>
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.
Sourcepub fn leave_with_later_projection(
self,
debt: ClosureDebt,
event: Event,
successor: ProjectionCompactionSuccessor,
) -> Result<ClosureState, ClosureState>
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.
Sourcepub const fn independent_event(
self,
debt: ClosureDebt,
event: Event,
resulting_debt: Option<ClosureDebt>,
) -> Result<ClosureState, ClosureState>
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.
Sourcepub 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)>
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
impl Clone for ObserverProjection
Source§fn clone(&self) -> ObserverProjection
fn clone(&self) -> ObserverProjection
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more