Struct asi_core0::StandardRuntime [] [src]

pub struct StandardRuntime<I, O, T, D> {
    pub agent: Option<Agent<I, O, T, D>>,
    pub wait: f64,
    pub actions: VecDeque<(Action, bool)>,
    pub memory_limit: Option<usize>,
    // some fields omitted
}

Standard runtime for running an agent.

This runtime permits setting a memory limit. A sleeping agent can also be interrupted.

The runtime keeps track of actions that are waiting for confirmation.

Fields

Stores agent data.

This is set to None before the runtime is loaded.

The number of seconds to wait before performing the next action.

Actions of sending or retrieving inputs and outputs. The flag tells whether this is done or not.

A limit to the amount of memory states.

Methods

impl<I, O, T, D> StandardRuntime<I, O, T, D>
[src]

[src]

Creates a new standard runtime with an agent with no sensors, actuators or memory.

Trait Implementations

impl<I, O, T, D> Runtime for StandardRuntime<I, O, T, D> where
    D: DecisionMaker<T>,
    I: Sensor<T>,
    O: Actuator<T>,
    T: Default
[src]

The type of agent.

[src]

Loads a new agent as initial condition.

[src]

Starts the agent. This must be called before update to run the agent. Read more

[src]

Returns true if the agent is still running or have not started yet.

[src]

Terminate immediately even if the decision maker is not ready. This is called when the controller of the agent is impatient. (It does not morally kill the agent as it might be resurrected from backup memory). Read more

[src]

Start shut down procedure, expected to complete in a number of seconds. Returns estimate from the decision maker. This is 0 if ready to shut down. Read more

[src]

Returns true if the agent is sleeping.

[src]

Wakes the agent up from sleep.

[src]

Move forward in time.

Auto Trait Implementations

impl<I, O, T, D> Send for StandardRuntime<I, O, T, D> where
    D: Send,
    I: Send,
    O: Send,
    T: Send

impl<I, O, T, D> Sync for StandardRuntime<I, O, T, D> where
    D: Sync,
    I: Sync,
    O: Sync,
    T: Sync