pub trait ErrorHandler: Sized {
// Required methods
fn spawn_multiple(n_threads: usize) -> impl IntoIterator<Item = Self>;
fn handle_event(&mut self, value: Result<(), SimulationError>);
fn do_continue(&mut self) -> Result<(), SimulationError>;
// Provided method
fn determine_strategy(&self, error: SimulationError) -> HandlingStrategy { ... }
}Available on crate feature
chili only.Expand description
Handle any error which may occur as specified by SimulationError
Required Methods§
Sourcefn spawn_multiple(n_threads: usize) -> impl IntoIterator<Item = Self>
fn spawn_multiple(n_threads: usize) -> impl IntoIterator<Item = Self>
Creates multiple handlers which are responsible for individual threads.
Sourcefn handle_event(&mut self, value: Result<(), SimulationError>)
fn handle_event(&mut self, value: Result<(), SimulationError>)
Accumulates an error event.
Sourcefn do_continue(&mut self) -> Result<(), SimulationError>
fn do_continue(&mut self) -> Result<(), SimulationError>
Determines if the simulation is able to be continued or not.
Provided Methods§
Sourcefn determine_strategy(&self, error: SimulationError) -> HandlingStrategy
fn determine_strategy(&self, error: SimulationError) -> HandlingStrategy
Determines possible HandlingStrategy after having accumulated all possible errors.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.