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§
Sourcetype ExperimentContext: Send
type ExperimentContext: Send
Defines a context used when rendering the experiment.
Sourcetype ExperimentEnvironment: Send
type ExperimentEnvironment: Send
Defines the experiment environment.
Required Methods§
Sourcefn prepare(
&self,
experiment: &Experiment,
) -> Result<Self::ExperimentEnvironment>
fn prepare( &self, experiment: &Experiment, ) -> Result<Self::ExperimentEnvironment>
Prepare before rendering the experiment.
Sourcefn render(
&self,
experiment: &Experiment,
reporters: &Vec<Box<dyn ExperimentReporter<Self> + Sync + Send>>,
env: &Self::ExperimentEnvironment,
) -> Result<()>where
Self: Sized,
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.
Sourcefn on_completed(
&self,
experiment: &Experiment,
env: &Self::ExperimentEnvironment,
) -> Result<()>
fn on_completed( &self, experiment: &Experiment, env: &Self::ExperimentEnvironment, ) -> Result<()>
It is called when the experiment has been completed.
Sourcefn on_failed(
&self,
experiment: &Experiment,
env: &Self::ExperimentEnvironment,
err: &Error,
) -> Result<()>
fn on_failed( &self, experiment: &Experiment, env: &Self::ExperimentEnvironment, err: &Error, ) -> Result<()>
It is called when the experiment has been failed.