Struct loom::model::Builder [−][src]
Configure a model
Fields
max_threads: usize
Max number of threads to check as part of the execution.
This should be set as low as possible and must be less than
MAX_THREADS
.
max_branches: usize
Maximum number of thread switches per permutation.
Defaults to LOOM_MAX_BRANCHES
environment variable.
max_permutations: Option<usize>
Maximum number of permutations to explore.
Defaults to LOOM_MAX_PERMUTATIONS
environment variable.
max_duration: Option<Duration>
Maximum amount of time to spend on checking
Defaults to LOOM_MAX_DURATION
environment variable.
preemption_bound: Option<usize>
Maximum number of thread preemptions to explore
Defaults to LOOM_MAX_PREEMPTIONS
environment variable.
checkpoint_file: Option<PathBuf>
When doing an exhaustive check, uses the file to store and load the check progress
Defaults to LOOM_CHECKPOINT_FILE
environment variable.
checkpoint_interval: usize
How often to write the checkpoint file
Defaults to LOOM_CHECKPOINT_INTERVAL
environment variable.
location: bool
When true
, locations are captured on each loom operation.
Note that is is very expensive. It is recommended to first isolate a
failing iteration using LOOM_CHECKPOINT_FILE
, then enable location
tracking.
Defaults to LOOM_LOCATION
environment variable.
log: bool
Log execution output to stdout.
Defaults to existance of LOOM_LOG
environment variable.
Implementations
impl Builder
[src]
pub fn new() -> Builder
[src]
Create a new Builder
instance with default values.
pub fn checkpoint_file(&mut self, file: &str) -> &mut Self
[src]
Set the checkpoint file.
pub fn check<F>(&self, f: F) where
F: Fn() + Sync + Send + 'static,
[src]
F: Fn() + Sync + Send + 'static,
Check the provided model.
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for Builder
impl Send for Builder
impl Sync for Builder
impl Unpin for Builder
impl UnwindSafe for Builder
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,