pub trait QueuedWorkRunHandle: Send + Sync {
// Required method
fn run_queued_work<'life0, 'async_trait>(
&'life0 self,
request: QueuedWorkRunRequest,
) -> Pin<Box<dyn Future<Output = Result<(), PluginError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
// Provided method
fn claim_and_run_pending<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
session_id: Option<&'life1 str>,
reason: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<(), PluginError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait { ... }
}Required Methods§
fn run_queued_work<'life0, 'async_trait>(
&'life0 self,
request: QueuedWorkRunRequest,
) -> Pin<Box<dyn Future<Output = Result<(), PluginError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Provided Methods§
Sourcefn claim_and_run_pending<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
session_id: Option<&'life1 str>,
reason: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<(), PluginError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn claim_and_run_pending<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
session_id: Option<&'life1 str>,
reason: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<(), PluginError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Host-driven single pass: claim and submit ready queued work, optionally
narrowed to one session. The symmetric counterpart to
ProcessRunHandle::claim_and_run_pending.
Idempotency is the store claim’s job (claim_ready_queued_work), not a
same-process memory guard. Hosts call this on an event (enqueue, process
wake, turn completion) instead of polling.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".