Trait agent_tk::module::Module

source ·
pub trait Module {
    type InputMessage;
    type OutputMessage;
    type ModulePrivateInterface: ModulePrivateInterface<Self::InputMessage, Self::OutputMessage>;

    // Provided method
    fn prepare_interfaces(
        cap: usize,
    ) -> (ModuleInterface<Self::InputMessage, Self::OutputMessage>, Self::ModulePrivateInterface) { ... }
}
Expand description

Define an agent module. Each module can receive message as inputs and send via its outputs. All the messages are broadcasted. Each module has a single thread used for handling the messages. If longer computation are needed, they can spawn other modules.

Required Associated Types§

Provided Methods§

source

fn prepare_interfaces( cap: usize, ) -> (ModuleInterface<Self::InputMessage, Self::OutputMessage>, Self::ModulePrivateInterface)

This function is called ahead

Object Safety§

This trait is not object safe.

Implementors§