ContainerOf2State

Trait ContainerOf2State 

Source
pub trait ContainerOf2State<State: DataLike, Part1: DataLike, Part2: DataLike, Payload: DataLike> {
    // Required method
    fn reaction(
        &self,
        instance: usize,
        payload: &Payload,
        parts1: &[Part1],
        parts2: &[Part2],
    ) -> Reaction<State, Payload>;

    // Provided methods
    fn activity(
        &self,
        _instance: usize,
        _parts1: &[Part1],
        _parts2: &[Part2],
    ) -> Activity<Payload> { ... }
    fn is_deferring(
        &self,
        _instance: usize,
        _parts1: &[Part1],
        _parts2: &[Part2],
    ) -> bool { ... }
    fn invalid_because(
        &self,
        _instance: usize,
        _parts1: &[Part1],
        _parts2: &[Part2],
    ) -> Option<&'static str> { ... }
    fn max_in_flight_messages(
        &self,
        _instance: usize,
        _parts1: &[Part1],
        _parts2: &[Part2],
    ) -> Option<usize> { ... }
}
Expand description

A trait for a container agent state.

Required Methods§

Source

fn reaction( &self, instance: usize, payload: &Payload, parts1: &[Part1], parts2: &[Part2], ) -> Reaction<State, Payload>

Return the actions that may be taken by an agent instance with this state when receiving a payload.

Provided Methods§

Source

fn activity( &self, _instance: usize, _parts1: &[Part1], _parts2: &[Part2], ) -> Activity<Payload>

Return the actions that may be taken by an agent with some state when time passes.

Source

fn is_deferring( &self, _instance: usize, _parts1: &[Part1], _parts2: &[Part2], ) -> bool

Whether any agent in this state is deferring messages.

Source

fn invalid_because( &self, _instance: usize, _parts1: &[Part1], _parts2: &[Part2], ) -> Option<&'static str>

If this object is invalid, return why.

Source

fn max_in_flight_messages( &self, _instance: usize, _parts1: &[Part1], _parts2: &[Part2], ) -> Option<usize>

The maximal number of messages sent by this agent which may be in-flight when it is in this state.

Implementors§