Module

Trait Module 

Source
pub trait Module: Module<InputMessage = InputMessage, OutputMessage = OutputMessage> + Sized {
    type Options;

    // Required method
    fn start(
        agent_data: AgentData,
        module_interfaces: (ModuleInterface<InputMessage, OutputMessage>, Self::ModulePrivateInterface),
        options: Self::Options,
    ) -> impl Future<Output = ()> + Send + 'static;
}
Expand description

Trait to define the interface to execution module

Required Associated Types§

Source

type Options

Creation options for the execution module

Required Methods§

Source

fn start( agent_data: AgentData, module_interfaces: (ModuleInterface<InputMessage, OutputMessage>, Self::ModulePrivateInterface), options: Self::Options, ) -> impl Future<Output = ()> + Send + 'static

Start an execution module

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§