pub trait ProcessService: Send + Sync {
// Required methods
fn start<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
session_id: &'life1 str,
registration: ProcessRegistration,
options: ProcessStartOptions,
scope: ProcessOpScope<'life2>,
) -> Pin<Box<dyn Future<Output = Result<ProcessRecord, PluginError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
fn await_process<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
process_id: &'life1 str,
scope: ProcessOpScope<'life2>,
) -> Pin<Box<dyn Future<Output = Result<ProcessAwaitOutput, PluginError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
fn list_visible<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
session_id: &'life1 str,
mode: ProcessListMode,
scope: ProcessOpScope<'life2>,
) -> Pin<Box<dyn Future<Output = Result<Vec<ProcessHandleGrantEntry>, PluginError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
fn validate_visible<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
session_id: &'life1 str,
process_ids: &'life2 [String],
scope: ProcessOpScope<'life3>,
) -> Pin<Box<dyn Future<Output = Result<(), PluginError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait;
fn cancel<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
session_id: &'life1 str,
process_id: &'life2 str,
scope: ProcessOpScope<'life3>,
) -> Pin<Box<dyn Future<Output = Result<ProcessRecord, PluginError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait;
fn signal<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
session_id: &'life1 str,
process_id: &'life2 str,
signal_id: String,
payload: Value,
scope: ProcessOpScope<'life3>,
) -> Pin<Box<dyn Future<Output = Result<ProcessEvent, PluginError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait;
fn transfer<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
from_session_id: &'life1 str,
to_session_id: &'life2 str,
process_ids: Vec<String>,
scope: ProcessOpScope<'life3>,
) -> Pin<Box<dyn Future<Output = Result<(), PluginError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait;
fn cancel_unreferenced<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
session_id: &'life1 str,
keep_process_ids: Vec<String>,
scope: ProcessOpScope<'life2>,
) -> Pin<Box<dyn Future<Output = Result<Vec<ProcessRecord>, PluginError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
// Provided method
fn start_from_request<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
session_id: &'life1 str,
request: ProcessStartRequest,
scope: ProcessOpScope<'life2>,
) -> Pin<Box<dyn Future<Output = Result<ProcessHandleSummary, PluginError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait { ... }
}Required Methods§
fn start<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
session_id: &'life1 str,
registration: ProcessRegistration,
options: ProcessStartOptions,
scope: ProcessOpScope<'life2>,
) -> Pin<Box<dyn Future<Output = Result<ProcessRecord, PluginError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn await_process<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
process_id: &'life1 str,
scope: ProcessOpScope<'life2>,
) -> Pin<Box<dyn Future<Output = Result<ProcessAwaitOutput, PluginError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn list_visible<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
session_id: &'life1 str,
mode: ProcessListMode,
scope: ProcessOpScope<'life2>,
) -> Pin<Box<dyn Future<Output = Result<Vec<ProcessHandleGrantEntry>, PluginError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn validate_visible<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
session_id: &'life1 str,
process_ids: &'life2 [String],
scope: ProcessOpScope<'life3>,
) -> Pin<Box<dyn Future<Output = Result<(), PluginError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn cancel<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
session_id: &'life1 str,
process_id: &'life2 str,
scope: ProcessOpScope<'life3>,
) -> Pin<Box<dyn Future<Output = Result<ProcessRecord, PluginError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn signal<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
session_id: &'life1 str,
process_id: &'life2 str,
signal_id: String,
payload: Value,
scope: ProcessOpScope<'life3>,
) -> Pin<Box<dyn Future<Output = Result<ProcessEvent, PluginError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn transfer<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
from_session_id: &'life1 str,
to_session_id: &'life2 str,
process_ids: Vec<String>,
scope: ProcessOpScope<'life3>,
) -> Pin<Box<dyn Future<Output = Result<(), PluginError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn cancel_unreferenced<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
session_id: &'life1 str,
keep_process_ids: Vec<String>,
scope: ProcessOpScope<'life2>,
) -> Pin<Box<dyn Future<Output = Result<Vec<ProcessRecord>, PluginError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Provided Methods§
fn start_from_request<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
session_id: &'life1 str,
request: ProcessStartRequest,
scope: ProcessOpScope<'life2>,
) -> Pin<Box<dyn Future<Output = Result<ProcessHandleSummary, PluginError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".