pub trait AwaitEventResolver: Send + Sync {
// Provided methods
fn durability_tier(&self) -> DurabilityTier { ... }
fn requires_durable_attachment_store(&self) -> bool { ... }
fn supports_durable_effects(&self) -> bool { ... }
fn await_event_key<'life0, 'life1, 'async_trait>(
&'life0 self,
_scope: &'life1 ExecutionScope,
_wait: AwaitEventWaitIdentity,
) -> Pin<Box<dyn Future<Output = Result<AwaitEventKey, RuntimeError>> + Send + 'async_trait>>
where 'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait { ... }
fn resolve_await_event<'life0, 'life1, 'async_trait>(
&'life0 self,
_key: &'life1 AwaitEventKey,
_resolution: Resolution,
) -> Pin<Box<dyn Future<Output = Result<ResolveOutcome, RuntimeError>> + Send + 'async_trait>>
where 'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait { ... }
fn await_await_event<'life0, 'life1, 'async_trait>(
&'life0 self,
_key: &'life1 AwaitEventKey,
_cancel: CancellationToken,
_deadline: Option<Instant>,
) -> Pin<Box<dyn Future<Output = Result<Resolution, RuntimeError>> + Send + 'async_trait>>
where 'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait { ... }
fn revoke_await_events_for_session<'life0, 'life1, 'async_trait>(
&'life0 self,
_session_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<(), RuntimeError>> + Send + 'async_trait>>
where 'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait { ... }
}Expand description
Shared durability and Durable Wait contract for effect boundaries.
Both the deployment-level EffectHost factory and the per-run
RuntimeEffectController resolve Durable Waits and describe their
durability; this supertrait is the single declaration of that contract.
Provided Methods§
fn durability_tier(&self) -> DurabilityTier
fn requires_durable_attachment_store(&self) -> bool
fn supports_durable_effects(&self) -> bool
fn await_event_key<'life0, 'life1, 'async_trait>(
&'life0 self,
_scope: &'life1 ExecutionScope,
_wait: AwaitEventWaitIdentity,
) -> Pin<Box<dyn Future<Output = Result<AwaitEventKey, RuntimeError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn resolve_await_event<'life0, 'life1, 'async_trait>(
&'life0 self,
_key: &'life1 AwaitEventKey,
_resolution: Resolution,
) -> Pin<Box<dyn Future<Output = Result<ResolveOutcome, RuntimeError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn await_await_event<'life0, 'life1, 'async_trait>(
&'life0 self,
_key: &'life1 AwaitEventKey,
_cancel: CancellationToken,
_deadline: Option<Instant>,
) -> Pin<Box<dyn Future<Output = Result<Resolution, RuntimeError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn revoke_await_events_for_session<'life0, 'life1, 'async_trait>(
&'life0 self,
_session_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<(), RuntimeError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".