MADARA  3.4.1
WaitSettings.h
Go to the documentation of this file.
1 #ifndef _MADARA_WAIT_SETTINGS_
2 #define _MADARA_WAIT_SETTINGS_
3 
12 #include <string>
14 #include "madara/MadaraExport.h"
15 
16 namespace madara
17 {
18 namespace knowledge
19 {
24 struct MADARA_EXPORT WaitSettings : public EvalSettings
25 {
26  /* Convenient pre-defined settings objects for common use cases */
27 
29  static const WaitSettings DEFAULT;
30 
32  static const WaitSettings CHECKPOINT;
33 
35  static const WaitSettings DELAY;
36 
39 
41  static const WaitSettings EXPAND;
42 
44  static const WaitSettings DELAY_EXPAND;
45 
48 
50  static const WaitSettings NO_EXPAND;
51 
54 
56  static const WaitSettings SEND;
57 
59  static const WaitSettings SEND_EXPAND;
60 
63 
67  WaitSettings() : EvalSettings(), poll_frequency(0.100), max_wait_time(-1.0) {}
68 
101  WaitSettings(bool t_delay_sending_modifieds, bool t_treat_globals_as_locals,
102  bool t_signal_updates, bool t_always_overwrite, bool t_always_expand,
103  bool t_track_local_changes, std::string t_pre_print_statement,
104  std::string t_post_print_statement, double t_poll_frequency,
105  double t_max_wait_time, uint64_t t_clock_increment = 1,
106  bool t_treat_locals_as_globals = false, bool t_stream_changes = true,
107  bool t_exceptions_on_unitialized = false)
108  : EvalSettings(t_delay_sending_modifieds, t_treat_globals_as_locals,
109  t_signal_updates, t_always_overwrite, t_always_expand,
110  t_track_local_changes, t_pre_print_statement, t_post_print_statement,
111  t_clock_increment, t_treat_locals_as_globals, t_stream_changes,
112  t_exceptions_on_unitialized),
113  poll_frequency(t_poll_frequency),
114  max_wait_time(t_max_wait_time)
115  {
116  }
117 
122  : EvalSettings(rhs),
123  poll_frequency(rhs.poll_frequency),
124  max_wait_time(rhs.max_wait_time)
125  {
126  }
127 
132 
137 };
138 } // namespace knowledge
139 } // namespace madara
140 #endif // _MADARA_WAIT_SETTINGS_
constexpr string_t string
Provides functions and classes for the distributed knowledge base.
Copyright(c) 2020 Galois.
Encapsulates settings for an evaluation statement.
Definition: EvalSettings.h:26
Encapsulates settings for a wait statement.
Definition: WaitSettings.h:25
static const WaitSettings NO_EXPAND
Settings to delay sending modifieds and expand variables.
Definition: WaitSettings.h:50
static const WaitSettings EXPAND
Settings to delay sending modifieds and expand variables.
Definition: WaitSettings.h:41
static const WaitSettings NO_EXPAND_CHECKPOINT
Settings to not expand odifieds and enable checkpoints.
Definition: WaitSettings.h:53
WaitSettings(const WaitSettings &rhs)
Copy constructor.
Definition: WaitSettings.h:121
static const WaitSettings SEND
Settings to immediately send modifieds and expand variables.
Definition: WaitSettings.h:56
static const WaitSettings DEFAULT
Settings to use whatever defaults there are.
Definition: WaitSettings.h:29
WaitSettings(bool t_delay_sending_modifieds, bool t_treat_globals_as_locals, bool t_signal_updates, bool t_always_overwrite, bool t_always_expand, bool t_track_local_changes, std::string t_pre_print_statement, std::string t_post_print_statement, double t_poll_frequency, double t_max_wait_time, uint64_t t_clock_increment=1, bool t_treat_locals_as_globals=false, bool t_stream_changes=true, bool t_exceptions_on_unitialized=false)
Constructor.
Definition: WaitSettings.h:101
static const WaitSettings SEND_NO_EXPAND
Settings to immediately send modifieds and not expand variables.
Definition: WaitSettings.h:62
static const WaitSettings DELAY_CHECKPOINT
Settings to delay sending modifieds and enable checkpoints.
Definition: WaitSettings.h:38
static const WaitSettings DELAY
Settings to delay sending modifieds and expand variables.
Definition: WaitSettings.h:35
static const WaitSettings DELAY_NO_EXPAND
Settings to delay send modifieds and not expand variables.
Definition: WaitSettings.h:47
double max_wait_time
Maximum time to wait for an expression to become true (in seconds)
Definition: WaitSettings.h:136
static const WaitSettings DELAY_EXPAND
Settings to delay sending modifieds and expand variables.
Definition: WaitSettings.h:44
static const WaitSettings SEND_EXPAND
Settings to immediately send modifieds and expand variables.
Definition: WaitSettings.h:59
static const WaitSettings CHECKPOINT
Settings to enable checkpoints.
Definition: WaitSettings.h:32
double poll_frequency
Frequency to poll an expression for truth (in seconds)
Definition: WaitSettings.h:131