Skip to main content

PreparedSessionMaterialization

Struct PreparedSessionMaterialization 

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

Unique, cancellation-safe owner of one prepared session materialization.

Runtime bindings remain cloneable factory data; this lease is deliberately non-clone so rollback ownership can only move between orchestration layers by an explicit Rust move. Dropping an armed lease synchronously fences executor attachment, then schedules exact provisional cleanup/registration rollback.

Implementations§

Source§

impl PreparedSessionMaterialization

Source

pub fn bindings(&self) -> &SessionRuntimeBindings

Source

pub fn bindings_clone(&self) -> SessionRuntimeBindings

Source

pub fn session_id(&self) -> &SessionId

Source

pub async fn owns_current_materialization_claim(&self) -> bool

Whether this lease still owns the exact process-local materialization claim that fences same-session actor creation and executor attachment.

Source

pub fn archived_resume_authorization( &mut self, ) -> Result<ArchivedSessionActorMaterializationAuthorization, RuntimeDriverError>

Mint the non-cloneable authorization for actor construction at an exact Archived+Retired revival midpoint.

The returned token is useful only while this prepared lease still owns the same claim. Consumption revalidates the current machine entry, provisional cleanup installation, and exact Retired phase under the session mutation gate.

Source

pub async fn acquire_archived_resume_commit_lease( &self, ) -> Result<PreparedArchivedResumeCommitLease, RuntimeDriverError>

Acquire the exact post-actor commit lease for archived revival. Actor construction must already have consumed the one-shot authorization and committed the exact claim into ActorMaterializedPendingCommit.

Source

pub async fn ensure_executor_attachment<F>( &mut self, executor_factory: F, ) -> Result<EnsureRuntimeExecutorAttachment, RuntimeDriverError>

Attach the executor that consumes this exact actor-materialization claim. Generic machine attachment is intentionally unable to cross an outstanding prepare/actor-create transaction; this method transfers that authority to the returned pending attachment lease.

Source

pub async fn rollback_now(&mut self) -> Result<bool, RuntimeDriverError>

Roll back this exact materialization now. A pre-existing runtime entry is preserved after its exact provisional cleanup; an entry inserted for this transaction is fully unregistered.

Source

pub async fn rollback_now_under_turn_finalization_boundary( &mut self, ) -> Result<bool, RuntimeDriverError>

Exact rollback for a caller that already owns the persistent service’s turn-finalization boundary.

Source

pub async fn commit_staged(&mut self) -> Result<(), RuntimeDriverError>

Publish a staged-session owner. The staged registry must subsequently retain the exact bindings and call exact rollback when it abandons the slot; actor construction may later consume the same claim.

Source

pub async fn commit_actor_unattached( &mut self, ) -> Result<(), RuntimeDriverError>

Retain a successfully created actor before executor attachment. The provisional cleanup stays on the machine entry for raw unregister, while this transaction can no longer roll the registration back.

Trait Implementations§

Source§

impl Debug for PreparedSessionMaterialization

Source§

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

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

impl Drop for PreparedSessionMaterialization

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

fn pin_drop(self: Pin<&mut Self>)

🔬This is a nightly-only experimental API. (pin_ergonomics)
Execute the destructor for this type, but different to Drop::drop, it requires self to be pinned. Read more

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> CoreExecutorTurnFinalizationGuard for T
where T: Send,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<A, B, T> HttpServerConnExec<A, B> for T
where B: Body,

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
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.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more