MADARA  3.2.3
madara::knowledge::EvalSettings Class Reference

Encapsulates settings for an evaluation statement. More...

#include <EvalSettings.h>

Inheritance diagram for madara::knowledge::EvalSettings:
madara::knowledge::KnowledgeUpdateSettings madara::knowledge::KnowledgeReferenceSettings madara::knowledge::WaitSettings

Public Member Functions

 EvalSettings ()
 Constructor. More...
 
 EvalSettings (bool t_delay_sending_modifieds, bool t_treat_globals_as_locals=false, bool t_signal_updates=true, bool t_always_overwrite=false, bool t_always_expand=true, bool t_track_local_changes=false, std::string t_pre_print_statement="", std::string t_post_print_statement="", uint64_t t_clock_increment=1, bool t_treat_locals_as_globals=false)
 Constructor. More...
 
 EvalSettings (const EvalSettings &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...
 
bool never_exit
 Never allow MADARA to exit, even with fatal errors or invalid state. 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 EvalSettings DEFAULT
 Settings to immediately send modifieds, but do expand variables. More...
 
static const EvalSettings DELAY
 Settings to delay sending modifieds, but do expand variables. More...
 
static const EvalSettings 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 EvalSettings NO_EXPAND
 Settings to immediately send modifieds, and not expand variables. More...
 

Detailed Description

Encapsulates settings for an evaluation statement.

Definition at line 27 of file EvalSettings.h.

Constructor & Destructor Documentation

madara::knowledge::EvalSettings::EvalSettings ( )
inline

Constructor.

Definition at line 46 of file EvalSettings.h.

madara::knowledge::EvalSettings::EvalSettings ( bool  t_delay_sending_modifieds,
bool  t_treat_globals_as_locals = false,
bool  t_signal_updates = true,
bool  t_always_overwrite = false,
bool  t_always_expand = true,
bool  t_track_local_changes = false,
std::string  t_pre_print_statement = "",
std::string  t_post_print_statement = "",
uint64_t  t_clock_increment = 1,
bool  t_treat_locals_as_globals = false 
)
inlineexplicit

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_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 78 of file EvalSettings.h.

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

Copy constructor.

Parameters
rhsEval settings instance to copy

Definition at line 102 of file EvalSettings.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 EvalSettings madara::knowledge::EvalSettings::DEFAULT
static

Settings to immediately send modifieds, but do expand variables.

Definition at line 32 of file EvalSettings.h.

const EvalSettings madara::knowledge::EvalSettings::DELAY
static

Settings to delay sending modifieds, but do expand variables.

Definition at line 38 of file EvalSettings.h.

const EvalSettings madara::knowledge::EvalSettings::DELAY_NO_EXPAND
static

Settings to delay sending modifieds, and not expand variables.

Definition at line 41 of file EvalSettings.h.

bool madara::knowledge::EvalSettings::delay_sending_modifieds

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

Definition at line 115 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.

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 EvalSettings madara::knowledge::EvalSettings::NO_EXPAND
static

Settings to immediately send modifieds, and not expand variables.

Definition at line 35 of file EvalSettings.h.

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

Statement to print after evaluations.

Definition at line 125 of file EvalSettings.h.

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

Statement to print before evaluations.

Definition at line 120 of file EvalSettings.h.

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

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 131 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: