pub trait Executor: Send + Sync {
// Required methods
fn capabilities(&self) -> Result<Capabilities, ProtocolError>;
fn observe(&self, target: &TargetRef) -> Result<Observation, ProtocolError>;
fn resolve(
&self,
target: &TargetRef,
) -> Result<ResolvedTarget, ProtocolError>;
fn dispatch(
&self,
action: &Action,
target: &ResolvedTarget,
verification: &VerificationPolicy,
cancellation: &CancellationToken,
deadline_at_ms: i64,
) -> Result<DispatchReceipt, DispatchError>;
// Provided methods
fn session_isolation(&self) -> SessionIsolation { ... }
fn shared_desktop_context_hash(&self) -> Result<String, ProtocolError> { ... }
fn shared_desktop_context_hash_with_boundary(
&self,
cancellation: &CancellationToken,
deadline_at_ms: i64,
) -> Result<String, ProtocolError> { ... }
fn observe_with_boundary(
&self,
target: &TargetRef,
cancellation: &CancellationToken,
deadline_at_ms: i64,
) -> Result<Observation, ProtocolError> { ... }
fn resolve_with_boundary(
&self,
target: &TargetRef,
cancellation: &CancellationToken,
deadline_at_ms: i64,
) -> Result<ResolvedTarget, ProtocolError> { ... }
}Required Methods§
fn capabilities(&self) -> Result<Capabilities, ProtocolError>
fn observe(&self, target: &TargetRef) -> Result<Observation, ProtocolError>
fn resolve(&self, target: &TargetRef) -> Result<ResolvedTarget, ProtocolError>
fn dispatch( &self, action: &Action, target: &ResolvedTarget, verification: &VerificationPolicy, cancellation: &CancellationToken, deadline_at_ms: i64, ) -> Result<DispatchReceipt, DispatchError>
Provided Methods§
fn session_isolation(&self) -> SessionIsolation
fn observe_with_boundary( &self, target: &TargetRef, cancellation: &CancellationToken, deadline_at_ms: i64, ) -> Result<Observation, ProtocolError>
fn resolve_with_boundary( &self, target: &TargetRef, cancellation: &CancellationToken, deadline_at_ms: i64, ) -> Result<ResolvedTarget, ProtocolError>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".