Module

Trait Module 

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

    // Required method
    fn start<'a>(
        agent_data: AgentData,
        module_interfaces: (ModuleInterface<InputMessage, OutputMessage>, Self::ModulePrivateInterface),
        delegation_module_interface: ModuleInterface,
        options: Self::Options,
    ) -> Result<BoxFuture<'a, ()>>;
}
Expand description

Trait to define the interface to transport module

Required Associated Types§

Source

type Options

Options for the creation of the transport module

Required Methods§

Source

fn start<'a>( agent_data: AgentData, module_interfaces: (ModuleInterface<InputMessage, OutputMessage>, Self::ModulePrivateInterface), delegation_module_interface: ModuleInterface, options: Self::Options, ) -> Result<BoxFuture<'a, ()>>

Start a new transport 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§