Trait ExperimentRendering

Source
pub trait ExperimentRendering {
    type ExperimentContext: Send;
    type ExperimentEnvironment: Send;

    // Required methods
    fn prepare(
        &self,
        experiment: &Experiment,
    ) -> Result<Self::ExperimentEnvironment>;
    fn render(
        &self,
        experiment: &Experiment,
        reporters: &Vec<Box<dyn ExperimentReporter<Self> + Sync + Send>>,
        env: &Self::ExperimentEnvironment,
    ) -> Result<()>
       where Self: Sized;
    fn on_completed(
        &self,
        experiment: &Experiment,
        env: &Self::ExperimentEnvironment,
    ) -> Result<()>;
    fn on_failed(
        &self,
        experiment: &Experiment,
        env: &Self::ExperimentEnvironment,
        err: &Error,
    ) -> Result<()>;
}
Expand description

It allows rendering the simulation results in an arbitrary way.

Required Associated Types§

Source

type ExperimentContext: Send

Defines a context used when rendering the experiment.

Source

type ExperimentEnvironment: Send

Defines the experiment environment.

Required Methods§

Source

fn prepare( &self, experiment: &Experiment, ) -> Result<Self::ExperimentEnvironment>

Prepare before rendering the experiment.

Source

fn render( &self, experiment: &Experiment, reporters: &Vec<Box<dyn ExperimentReporter<Self> + Sync + Send>>, env: &Self::ExperimentEnvironment, ) -> Result<()>
where Self: Sized,

Render the experiment after the simulation is finished, for example, create the index.html file in the specified directory.

Source

fn on_completed( &self, experiment: &Experiment, env: &Self::ExperimentEnvironment, ) -> Result<()>

It is called when the experiment has been completed.

Source

fn on_failed( &self, experiment: &Experiment, env: &Self::ExperimentEnvironment, err: &Error, ) -> Result<()>

It is called when the experiment has been failed.

Implementors§