pub trait SessionActivationSpawner: Send + Sync {
// Required method
fn reserve_activation<'life0, 'life1, 'async_trait>(
&'life0 self,
target_session_id: &'life1 str,
inbox_generation: u64,
) -> Pin<Box<dyn Future<Output = Result<SessionActivationReserveOutcome, SessionActivationError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
}Expand description
Adapter to the owning runtime’s existing runner reservation and spawn path.
Implementations must reserve through the same per-session runner registry as
user/resume execution. They must not start a task before returning
SessionActivationReserveOutcome::Reserved.
Required Methods§
fn reserve_activation<'life0, 'life1, 'async_trait>(
&'life0 self,
target_session_id: &'life1 str,
inbox_generation: u64,
) -> Pin<Box<dyn Future<Output = Result<SessionActivationReserveOutcome, SessionActivationError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementors§
impl SessionActivationSpawner for ChildCompletionCoordinator
Real SessionInbox activation adapter. It reserves through the exact same
runner registry as every existing resume path, but deliberately bypasses
has_pending_user_message: the typed envelope is still in the durable inbox
and will be admitted by the loop’s first safe turn boundary.