pub trait ExecutorPort: Send + Sync {
// Required method
fn execute<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
winner: &'life1 Proposal,
options: &'life2 Attributes,
) -> Pin<Box<dyn Future<Output = Result<ExecutionOutcome, DomainError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
}Required Methods§
Sourcefn execute<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
winner: &'life1 Proposal,
options: &'life2 Attributes,
) -> Pin<Box<dyn Future<Output = Result<ExecutionOutcome, DomainError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn execute<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
winner: &'life1 Proposal,
options: &'life2 Attributes,
) -> Pin<Box<dyn Future<Output = Result<ExecutionOutcome, DomainError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Execute the winning proposal. Adapters are free to block or stream, as long as the final outcome is returned.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".