Skip to main content

CallExecutor

Trait CallExecutor 

Source
pub trait CallExecutor:
    Send
    + Sync
    + Debug {
    // Required methods
    fn retained(&self) -> usize;
    fn observe_empty(&self) -> Result<(), CallError>;
    fn start(
        &self,
        request: CallRequest,
        completed: Box<dyn FnOnce(Result<CallReply, CallError>) + Send>,
    ) -> Result<Box<dyn CallExecution>, CallError>;
}
Expand description

The receiving supervisor supplies its ordinary admitted connection path.

Required Methods§

Source

fn retained(&self) -> usize

Actual retained execution owners, for capacity and leak observations.

Source

fn observe_empty(&self) -> Result<(), CallError>

Waits on execution retirement signals, with no clock or polling.

§Errors

The retirement signal state was poisoned.

Source

fn start( &self, request: CallRequest, completed: Box<dyn FnOnce(Result<CallReply, CallError>) + Send>, ) -> Result<Box<dyn CallExecution>, CallError>

Starts only after the keyed link has decided its two crossing grants.

§Errors

Full connection admission, wire validation or owned reader startup failed.

Dyn Compatibility§

This trait is dyn compatible.

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

Implementors§