Trait sim::models::model::AsModel [−][src]
The AsModel
trait defines everything required for a model to operate
within the discrete event simulation. The simulator formalism (Discrete
Event System Specification) requires events_ext
, events_int
,
time_advance
, and until_next_event
. The additional status
is for
facilitation of simulation reasoning, reporting, and debugging.
Required methods
fn status(&self) -> String
[src]
fn events_ext(
&mut self,
incoming_message: ModelMessage,
services: &mut Services
) -> Result<Vec<ModelMessage>, SimulationError>
[src]
&mut self,
incoming_message: ModelMessage,
services: &mut Services
) -> Result<Vec<ModelMessage>, SimulationError>
fn events_int(
&mut self,
services: &mut Services
) -> Result<Vec<ModelMessage>, SimulationError>
[src]
&mut self,
services: &mut Services
) -> Result<Vec<ModelMessage>, SimulationError>
fn time_advance(&mut self, time_delta: f64)
[src]
fn until_next_event(&self) -> f64
[src]
Implementors
impl AsModel for ModelType
[src]
fn status(&self) -> String
[src]
fn events_ext(
&mut self,
incoming_message: ModelMessage,
services: &mut Services
) -> Result<Vec<ModelMessage>, SimulationError>
[src]
&mut self,
incoming_message: ModelMessage,
services: &mut Services
) -> Result<Vec<ModelMessage>, SimulationError>
fn events_int(
&mut self,
services: &mut Services
) -> Result<Vec<ModelMessage>, SimulationError>
[src]
&mut self,
services: &mut Services
) -> Result<Vec<ModelMessage>, SimulationError>
fn time_advance(&mut self, time_delta: f64)
[src]
fn until_next_event(&self) -> f64
[src]
impl AsModel for ExclusiveGateway
[src]
fn status(&self) -> String
[src]
fn events_ext(
&mut self,
incoming_message: ModelMessage,
services: &mut Services
) -> Result<Vec<ModelMessage>, SimulationError>
[src]
&mut self,
incoming_message: ModelMessage,
services: &mut Services
) -> Result<Vec<ModelMessage>, SimulationError>
fn events_int(
&mut self,
_services: &mut Services
) -> Result<Vec<ModelMessage>, SimulationError>
[src]
&mut self,
_services: &mut Services
) -> Result<Vec<ModelMessage>, SimulationError>
fn time_advance(&mut self, time_delta: f64)
[src]
fn until_next_event(&self) -> f64
[src]
impl AsModel for Gate
[src]
fn status(&self) -> String
[src]
fn events_ext(
&mut self,
incoming_message: ModelMessage,
services: &mut Services
) -> Result<Vec<ModelMessage>, SimulationError>
[src]
&mut self,
incoming_message: ModelMessage,
services: &mut Services
) -> Result<Vec<ModelMessage>, SimulationError>
fn events_int(
&mut self,
_services: &mut Services
) -> Result<Vec<ModelMessage>, SimulationError>
[src]
&mut self,
_services: &mut Services
) -> Result<Vec<ModelMessage>, SimulationError>
fn time_advance(&mut self, time_delta: f64)
[src]
fn until_next_event(&self) -> f64
[src]
impl AsModel for Generator
[src]
fn status(&self) -> String
[src]
fn events_ext(
&mut self,
_incoming_message: ModelMessage,
_services: &mut Services
) -> Result<Vec<ModelMessage>, SimulationError>
[src]
&mut self,
_incoming_message: ModelMessage,
_services: &mut Services
) -> Result<Vec<ModelMessage>, SimulationError>
fn events_int(
&mut self,
services: &mut Services
) -> Result<Vec<ModelMessage>, SimulationError>
[src]
&mut self,
services: &mut Services
) -> Result<Vec<ModelMessage>, SimulationError>
fn time_advance(&mut self, time_delta: f64)
[src]
fn until_next_event(&self) -> f64
[src]
impl AsModel for LoadBalancer
[src]
fn status(&self) -> String
[src]
fn events_ext(
&mut self,
incoming_message: ModelMessage,
_services: &mut Services
) -> Result<Vec<ModelMessage>, SimulationError>
[src]
&mut self,
incoming_message: ModelMessage,
_services: &mut Services
) -> Result<Vec<ModelMessage>, SimulationError>
fn events_int(
&mut self,
services: &mut Services
) -> Result<Vec<ModelMessage>, SimulationError>
[src]
&mut self,
services: &mut Services
) -> Result<Vec<ModelMessage>, SimulationError>
fn time_advance(&mut self, time_delta: f64)
[src]
fn until_next_event(&self) -> f64
[src]
impl AsModel for Model
[src]
fn status(&self) -> String
[src]
fn events_ext(
&mut self,
incoming_message: ModelMessage,
services: &mut Services
) -> Result<Vec<ModelMessage>, SimulationError>
[src]
&mut self,
incoming_message: ModelMessage,
services: &mut Services
) -> Result<Vec<ModelMessage>, SimulationError>
fn events_int(
&mut self,
services: &mut Services
) -> Result<Vec<ModelMessage>, SimulationError>
[src]
&mut self,
services: &mut Services
) -> Result<Vec<ModelMessage>, SimulationError>
fn time_advance(&mut self, time_delta: f64)
[src]
fn until_next_event(&self) -> f64
[src]
impl AsModel for ParallelGateway
[src]
fn status(&self) -> String
[src]
fn events_ext(
&mut self,
incoming_message: ModelMessage,
services: &mut Services
) -> Result<Vec<ModelMessage>, SimulationError>
[src]
&mut self,
incoming_message: ModelMessage,
services: &mut Services
) -> Result<Vec<ModelMessage>, SimulationError>
fn events_int(
&mut self,
services: &mut Services
) -> Result<Vec<ModelMessage>, SimulationError>
[src]
&mut self,
services: &mut Services
) -> Result<Vec<ModelMessage>, SimulationError>
fn time_advance(&mut self, time_delta: f64)
[src]
fn until_next_event(&self) -> f64
[src]
impl AsModel for Processor
[src]
fn status(&self) -> String
[src]
fn events_ext(
&mut self,
incoming_message: ModelMessage,
services: &mut Services
) -> Result<Vec<ModelMessage>, SimulationError>
[src]
&mut self,
incoming_message: ModelMessage,
services: &mut Services
) -> Result<Vec<ModelMessage>, SimulationError>
fn events_int(
&mut self,
services: &mut Services
) -> Result<Vec<ModelMessage>, SimulationError>
[src]
&mut self,
services: &mut Services
) -> Result<Vec<ModelMessage>, SimulationError>
fn time_advance(&mut self, time_delta: f64)
[src]
fn until_next_event(&self) -> f64
[src]
impl AsModel for StochasticGate
[src]
fn status(&self) -> String
[src]
fn events_ext(
&mut self,
incoming_message: ModelMessage,
services: &mut Services
) -> Result<Vec<ModelMessage>, SimulationError>
[src]
&mut self,
incoming_message: ModelMessage,
services: &mut Services
) -> Result<Vec<ModelMessage>, SimulationError>
fn events_int(
&mut self,
services: &mut Services
) -> Result<Vec<ModelMessage>, SimulationError>
[src]
&mut self,
services: &mut Services
) -> Result<Vec<ModelMessage>, SimulationError>
fn time_advance(&mut self, time_delta: f64)
[src]
fn until_next_event(&self) -> f64
[src]
impl AsModel for Storage
[src]
fn status(&self) -> String
[src]
fn events_ext(
&mut self,
incoming_message: ModelMessage,
services: &mut Services
) -> Result<Vec<ModelMessage>, SimulationError>
[src]
&mut self,
incoming_message: ModelMessage,
services: &mut Services
) -> Result<Vec<ModelMessage>, SimulationError>
fn events_int(
&mut self,
_services: &mut Services
) -> Result<Vec<ModelMessage>, SimulationError>
[src]
&mut self,
_services: &mut Services
) -> Result<Vec<ModelMessage>, SimulationError>