Skip to main content

Executor

Trait Executor 

Source
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§

Provided Methods§

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§