MADARA  3.1.8
madara::knowledge::WaitSettings Class Reference

Encapsulates settings for a wait statement. More...

#include <WaitSettings.h>

Inheritance diagram for madara::knowledge::WaitSettings:
Collaboration diagram for madara::knowledge::WaitSettings:

Public Member Functions

 WaitSettings ()
 Constructor. More...
 
 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)
 Constructor. More...
 
 WaitSettings (const WaitSettings &rhs)
 Copy constructor. More...
 

Public Attributes

bool always_overwrite
 Toggle for always overwriting records, regardless of quality, clock values, etc. More...
 
uint64_t clock_increment
 Default clock increment. More...
 
bool delay_sending_modifieds
 Toggle for sending modifieds in a single update event after each evaluation. More...
 
bool expand_variables
 Toggle for always attempting to expand variables (true) or never expanding variables (false) More...
 
double max_wait_time
 Maximum time to wait for an expression to become true (in seconds) More...
 
bool never_exit
 Never allow MADARA to exit, even with fatal errors or invalid state. More...
 
double poll_frequency
 Frequency to poll an expression for truth (in seconds) More...
 
std::string post_print_statement
 Statement to print after evaluations. More...
 
std::string pre_print_statement
 Statement to print before evaluations. More...
 
std::map< std::string, bool > send_list
 Map of record names that are allowed to be sent after operation. More...
 
bool signal_changes
 Toggle whether to signal changes have happened. More...
 
bool track_local_changes
 Toggle for checkpointing support. More...
 
bool treat_globals_as_locals
 Toggle whether updates to global variables are treated as local variables and not marked as modified to the transport. More...
 
bool treat_locals_as_globals
 Toggle whether updates to local variables are treated as global variables that should be sent over the transport. More...
 

Static Public Attributes

static const WaitSettings DEFAULT
 Settings to immediately send modifieds, but do expand variables. More...
 
static const WaitSettings DELAY
 Settings to delay sending modifieds, but do expand variables. More...
 
static const WaitSettings DELAY_NO_EXPAND
 Settings to delay sending modifieds, and not expand variables. More...
 
static const KnowledgeUpdateSettings GLOBAL_AS_LOCAL
 
static const KnowledgeUpdateSettings GLOBAL_AS_LOCAL_NO_EXPAND
 
static const WaitSettings NO_EXPAND
 Settings to immediately send modifieds, and not expand variables. More...
 

Detailed Description

Encapsulates settings for a wait statement.

Definition at line 23 of file WaitSettings.h.

Constructor & Destructor Documentation

madara::knowledge::WaitSettings::WaitSettings ( )
inline

Constructor.

Definition at line 42 of file WaitSettings.h.

madara::knowledge::WaitSettings::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 
)
inline

Constructor.

Parameters
t_delay_sending_modifiedstrue to send modifieds
t_treat_globals_as_localstrue if global variables should be marked as not to be sent to the transport
t_signal_updatesindicates whether to signal updates to a separate thread that may be waiting. This is only potentially useful to multithreaded MADARA apps
t_always_overwritealways overwrite, despite quality
t_always_expandalways try to expand variable names
t_track_local_changesif true, keep track of modifications to local variables for checkpoint saving purposes.
t_pre_print_statementstatement to print out before evaluations
t_post_print_statementstatement to print out after evaluations
t_poll_frequencythe frequency to poll for changes (in seconds)
t_max_wait_timethe maximum time to wait for truth (in seconds)
t_clock_incrementamount of clock ticks to increment updated records by
t_treat_locals_as_globalstrue if local variable changes should be sent over the network (dangerous).
See also
treat_locals_as_globals

Definition at line 76 of file WaitSettings.h.

madara::knowledge::WaitSettings::WaitSettings ( const WaitSettings rhs)
inline

Copy constructor.

Definition at line 99 of file WaitSettings.h.

Member Data Documentation

bool madara::knowledge::KnowledgeUpdateSettings::always_overwrite
inherited

Toggle for always overwriting records, regardless of quality, clock values, etc.

Definition at line 124 of file KnowledgeUpdateSettings.h.

uint64_t madara::knowledge::KnowledgeUpdateSettings::clock_increment
inherited

Default clock increment.

Definition at line 136 of file KnowledgeUpdateSettings.h.

const WaitSettings madara::knowledge::WaitSettings::DEFAULT
static

Settings to immediately send modifieds, but do expand variables.

Definition at line 28 of file WaitSettings.h.

const WaitSettings madara::knowledge::WaitSettings::DELAY
static

Settings to delay sending modifieds, but do expand variables.

Definition at line 34 of file WaitSettings.h.

const WaitSettings madara::knowledge::WaitSettings::DELAY_NO_EXPAND
static

Settings to delay sending modifieds, and not expand variables.

Definition at line 37 of file WaitSettings.h.

bool madara::knowledge::EvalSettings::delay_sending_modifieds
inherited

Toggle for sending modifieds in a single update event after each evaluation.

Definition at line 114 of file EvalSettings.h.

bool madara::knowledge::KnowledgeReferenceSettings::expand_variables
inherited

Toggle for always attempting to expand variables (true) or never expanding variables (false)

Definition at line 65 of file KnowledgeReferenceSettings.h.

const KnowledgeUpdateSettings madara::knowledge::KnowledgeUpdateSettings::GLOBAL_AS_LOCAL
staticinherited

Definition at line 30 of file KnowledgeUpdateSettings.h.

const KnowledgeUpdateSettings madara::knowledge::KnowledgeUpdateSettings::GLOBAL_AS_LOCAL_NO_EXPAND
staticinherited

Definition at line 31 of file KnowledgeUpdateSettings.h.

double madara::knowledge::WaitSettings::max_wait_time

Maximum time to wait for an expression to become true (in seconds)

Definition at line 113 of file WaitSettings.h.

bool madara::knowledge::KnowledgeReferenceSettings::never_exit
inherited

Never allow MADARA to exit, even with fatal errors or invalid state.

Definition at line 70 of file KnowledgeReferenceSettings.h.

const WaitSettings madara::knowledge::WaitSettings::NO_EXPAND
static

Settings to immediately send modifieds, and not expand variables.

Definition at line 31 of file WaitSettings.h.

double madara::knowledge::WaitSettings::poll_frequency

Frequency to poll an expression for truth (in seconds)

Definition at line 108 of file WaitSettings.h.

std::string madara::knowledge::EvalSettings::post_print_statement
inherited

Statement to print after evaluations.

Definition at line 124 of file EvalSettings.h.

std::string madara::knowledge::EvalSettings::pre_print_statement
inherited

Statement to print before evaluations.

Definition at line 119 of file EvalSettings.h.

std::map<std::string, bool> madara::knowledge::EvalSettings::send_list
inherited

Map of record names that are allowed to be sent after operation.

The map is only valid if

See also
delay_sending_modifieds is false.

Definition at line 130 of file EvalSettings.h.

bool madara::knowledge::KnowledgeUpdateSettings::signal_changes
inherited

Toggle whether to signal changes have happened.

Setting this to false will increase performance, but in general should be left to true. Setting this to false can result in problems with wait statements.

Definition at line 118 of file KnowledgeUpdateSettings.h.

bool madara::knowledge::KnowledgeUpdateSettings::track_local_changes
inherited

Toggle for checkpointing support.

If this is true, all changes will be added to the local changes map in the knowledge base, which is used by save_checkpoint to create diffs of knowledge

Definition at line 131 of file KnowledgeUpdateSettings.h.

bool madara::knowledge::KnowledgeUpdateSettings::treat_globals_as_locals
inherited

Toggle whether updates to global variables are treated as local variables and not marked as modified to the transport.

Definition at line 110 of file KnowledgeUpdateSettings.h.

bool madara::knowledge::KnowledgeUpdateSettings::treat_locals_as_globals
inherited

Toggle whether updates to local variables are treated as global variables that should be sent over the transport.

It should be stressed that this is dangerous and should only be used for debugging. If you toggle this to true, all local variables will be sent over the network where they will overwrite local variables in remote systems, unless the remote system filters out the local variable changes with an on-receive filter

Definition at line 148 of file KnowledgeUpdateSettings.h.


The documentation for this class was generated from the following files: