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§
Required Methods§
Sourcefn start(
agent_data: AgentData,
module_interfaces: (ModuleInterface<InputMessage, OutputMessage>, Self::ModulePrivateInterface),
options: Self::Options,
) -> impl Future<Output = ()> + Send + 'static
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.