pub struct GeneralOptions {
    pub stop_time: Option<Time<TimePrefix>>,
    pub seed: Option<u32>,
    pub parallelism: Option<u32>,
    pub bootstrap_end_time: Option<Time<TimePrefix>>,
    pub log_level: Option<LogLevel>,
    pub heartbeat_interval: Option<NullableOption<Time<TimePrefix>>>,
    pub data_directory: Option<String>,
    pub template_directory: Option<NullableOption<String>>,
    pub progress: Option<bool>,
    pub model_unblocked_syscall_latency: Option<bool>,
}Fields§
§stop_time: Option<Time<TimePrefix>>The simulated time at which simulated processes are sent a SIGKILL signal
seed: Option<u32>Initialize randomness using seed N
parallelism: Option<u32>How many parallel threads to use to run the simulation. A value of 0 will allow Shadow to choose the number of threads.
bootstrap_end_time: Option<Time<TimePrefix>>The simulated time that ends Shadow’s high network bandwidth/reliability bootstrap period
log_level: Option<LogLevel>Log level of output written on stdout. If Shadow was built in release mode, then log messages at level ‘trace’ will always be dropped
heartbeat_interval: Option<NullableOption<Time<TimePrefix>>>Interval at which to print heartbeat messages
data_directory: Option<String>Path to store simulation output
template_directory: Option<NullableOption<String>>Path to recursively copy during startup and use as the data-directory
progress: Option<bool>Show the simulation progress on stderr
model_unblocked_syscall_latency: Option<bool>Model syscalls and VDSO functions that don’t block as having some latency. This should have minimal effect on typical simulations, but can be helpful for programs with “busy loops” that otherwise deadlock under Shadow.
Implementations§
Source§impl GeneralOptions
 
impl GeneralOptions
Sourcepub fn with_defaults(self, default: Self) -> Self
 
pub fn with_defaults(self, default: Self) -> Self
Replace unset (None) values of base with values from default.
Trait Implementations§
Source§impl Args for GeneralOptions
 
impl Args for GeneralOptions
Source§fn augment_args<'b>(__clap_app: Command) -> Command
 
fn augment_args<'b>(__clap_app: Command) -> Command
Source§fn augment_args_for_update<'b>(__clap_app: Command) -> Command
 
fn augment_args_for_update<'b>(__clap_app: Command) -> Command
Command so it can instantiate self via
FromArgMatches::update_from_arg_matches_mut Read moreSource§impl Clone for GeneralOptions
 
impl Clone for GeneralOptions
Source§fn clone(&self) -> GeneralOptions
 
fn clone(&self) -> GeneralOptions
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
 
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl CommandFactory for GeneralOptions
 
impl CommandFactory for GeneralOptions
Source§impl Debug for GeneralOptions
 
impl Debug for GeneralOptions
Source§impl<'de> Deserialize<'de> for GeneralOptions
 
impl<'de> Deserialize<'de> for GeneralOptions
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
    __D: Deserializer<'de>,
 
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
    __D: Deserializer<'de>,
Source§impl FromArgMatches for GeneralOptions
 
impl FromArgMatches for GeneralOptions
Source§fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
 
fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
Source§fn from_arg_matches_mut(
    __clap_arg_matches: &mut ArgMatches,
) -> Result<Self, Error>
 
fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, ) -> Result<Self, Error>
Source§fn update_from_arg_matches(
    &mut self,
    __clap_arg_matches: &ArgMatches,
) -> Result<(), Error>
 
fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Source§fn update_from_arg_matches_mut(
    &mut self,
    __clap_arg_matches: &mut ArgMatches,
) -> Result<(), Error>
 
fn update_from_arg_matches_mut( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Source§impl JsonSchema for GeneralOptions
 
impl JsonSchema for GeneralOptions
Source§fn schema_id() -> Cow<'static, str>
 
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
 
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
 
fn inline_schema() -> bool
$ref keyword. Read moreSource§impl Merge for GeneralOptions
 
impl Merge for GeneralOptions
Source§impl Parser for GeneralOptions
 
impl Parser for GeneralOptions
Source§fn parse_from<I, T>(itr: I) -> Self
 
fn parse_from<I, T>(itr: I) -> Self
Source§fn try_parse_from<I, T>(itr: I) -> Result<Self, Error>
 
fn try_parse_from<I, T>(itr: I) -> Result<Self, Error>
Source§fn update_from<I, T>(&mut self, itr: I)
 
fn update_from<I, T>(&mut self, itr: I)
Auto Trait Implementations§
impl Freeze for GeneralOptions
impl RefUnwindSafe for GeneralOptions
impl Send for GeneralOptions
impl Sync for GeneralOptions
impl Unpin for GeneralOptions
impl UnwindSafe for GeneralOptions
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
    T: ?Sized,
 
impl<T> BorrowMut<T> for Twhere
    T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
 
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
    T: Clone,
 
impl<T> CloneToUninit for Twhere
    T: Clone,
Source§impl<T> IntoEither for T
 
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
 
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
 
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more