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, Self::ModulePrivateInterface),
        execution_interface: ModuleInterface,
        options: Self::Options,
    ) -> impl Future<Output = ()> + Send + 'static;
}
Expand description

Trait to define the interface to decision module

Required Associated Types§

Source

type Options

Options structure used to start the decision module

Required Methods§

Source

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

Create a new delegation 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§