MADARA  3.4.1
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, bool t_stream_changes=true, bool t_exceptions_on_unitialized=false)
 Constructor. More...
 
 EvalSettings (const EvalSettings &rhs)
 Copy constructor. More...
 

Public Attributes

bool always_overwrite = false
 Toggle for always overwriting records, regardless of quality, clock values, etc. More...
 
uint64_t clock_increment = 1
 Default clock increment. More...
 
bool delay_sending_modifieds
 Toggle for sending modifieds in a single update event after each evaluation. More...
 
bool exception_on_unitialized
 throw an exception if reference is on uninitialized variable 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 = true
 Toggle whether to signal changes have happened. More...
 
bool stream_changes = true
 Toggle for streaming support. More...
 
bool track_local_changes = true
 Toggle for checkpointing support. More...
 
bool treat_globals_as_locals = false
 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 = false
 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 CHECKPOINT
 Settings to enable checkpoints. More...
 
static const EvalSettings DEFAULT
 Settings to use whatever defaults there are. More...
 
static const EvalSettings DELAY
 Settings to delay sending modifieds and expand variables. More...
 
static const EvalSettings DELAY_CHECKPOINT
 Settings to delay sending modifieds and enable checkpoints. More...
 
static const EvalSettings DELAY_EXPAND
 Settings to delay sending modifieds and expand variables. More...
 
static const EvalSettings DELAY_NO_EXPAND
 Settings to delay send modifieds and not expand variables. More...
 
static const EvalSettings EXPAND
 Settings to delay sending modifieds and expand variables. More...
 
static const KnowledgeUpdateSettings GLOBAL_AS_LOCAL
 
static const KnowledgeUpdateSettings GLOBAL_AS_LOCAL_NO_EXPAND
 
static const EvalSettings NO_EXPAND
 Settings to delay sending modifieds and expand variables. More...
 
static const EvalSettings NO_EXPAND_CHECKPOINT
 Settings to not expand odifieds and enable checkpoints. More...
 
static const EvalSettings SEND
 Settings to immediately send modifieds and expand variables. More...
 
static const EvalSettings SEND_EXPAND
 Settings to immediately send modifieds and expand variables. More...
 
static const EvalSettings SEND_NO_EXPAND
 Settings to immediately send modifieds and not expand variables. More...
 

Detailed Description

Encapsulates settings for an evaluation statement.

Definition at line 25 of file EvalSettings.h.

Constructor & Destructor Documentation

◆ EvalSettings() [1/3]

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

Constructor.

Definition at line 68 of file EvalSettings.h.

◆ EvalSettings() [2/3]

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,
bool  t_stream_changes = true,
bool  t_exceptions_on_unitialized = 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
Parameters
t_stream_changestrue if changes must be streamed
t_exceptions_on_unitializedtrue if exceptions must be thrown when reading uninitialized variables

Definition at line 104 of file EvalSettings.h.

◆ EvalSettings() [3/3]

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

Copy constructor.

Parameters
rhsEval settings instance to copy

Definition at line 128 of file EvalSettings.h.

Member Data Documentation

◆ always_overwrite

bool madara::knowledge::KnowledgeUpdateSettings::always_overwrite = false
inherited

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

Definition at line 114 of file KnowledgeUpdateSettings.h.

◆ CHECKPOINT

const EvalSettings madara::knowledge::EvalSettings::CHECKPOINT
static

Settings to enable checkpoints.

Definition at line 33 of file EvalSettings.h.

◆ clock_increment

uint64_t madara::knowledge::KnowledgeUpdateSettings::clock_increment = 1
inherited

Default clock increment.

Definition at line 126 of file KnowledgeUpdateSettings.h.

◆ DEFAULT

const EvalSettings madara::knowledge::EvalSettings::DEFAULT
static

Settings to use whatever defaults there are.

Definition at line 30 of file EvalSettings.h.

◆ DELAY

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

Settings to delay sending modifieds and expand variables.

Definition at line 36 of file EvalSettings.h.

◆ DELAY_CHECKPOINT

const EvalSettings madara::knowledge::EvalSettings::DELAY_CHECKPOINT
static

Settings to delay sending modifieds and enable checkpoints.

Definition at line 39 of file EvalSettings.h.

◆ DELAY_EXPAND

const EvalSettings madara::knowledge::EvalSettings::DELAY_EXPAND
static

Settings to delay sending modifieds and expand variables.

Definition at line 45 of file EvalSettings.h.

◆ DELAY_NO_EXPAND

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

Settings to delay send modifieds and not expand variables.

Definition at line 48 of file EvalSettings.h.

◆ delay_sending_modifieds

bool madara::knowledge::EvalSettings::delay_sending_modifieds

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

Definition at line 141 of file EvalSettings.h.

◆ exception_on_unitialized

bool madara::knowledge::KnowledgeReferenceSettings::exception_on_unitialized
inherited

throw an exception if reference is on uninitialized variable

Definition at line 76 of file KnowledgeReferenceSettings.h.

◆ EXPAND

const EvalSettings madara::knowledge::EvalSettings::EXPAND
static

Settings to delay sending modifieds and expand variables.

Definition at line 42 of file EvalSettings.h.

◆ expand_variables

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

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

Definition at line 68 of file KnowledgeReferenceSettings.h.

◆ GLOBAL_AS_LOCAL

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

Definition at line 29 of file KnowledgeUpdateSettings.h.

◆ GLOBAL_AS_LOCAL_NO_EXPAND

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

Definition at line 30 of file KnowledgeUpdateSettings.h.

◆ never_exit

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

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

Definition at line 73 of file KnowledgeReferenceSettings.h.

◆ NO_EXPAND

const EvalSettings madara::knowledge::EvalSettings::NO_EXPAND
static

Settings to delay sending modifieds and expand variables.

Definition at line 51 of file EvalSettings.h.

◆ NO_EXPAND_CHECKPOINT

const EvalSettings madara::knowledge::EvalSettings::NO_EXPAND_CHECKPOINT
static

Settings to not expand odifieds and enable checkpoints.

Definition at line 54 of file EvalSettings.h.

◆ post_print_statement

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

Statement to print after evaluations.

Definition at line 151 of file EvalSettings.h.

◆ pre_print_statement

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

Statement to print before evaluations.

Definition at line 146 of file EvalSettings.h.

◆ SEND

const EvalSettings madara::knowledge::EvalSettings::SEND
static

Settings to immediately send modifieds and expand variables.

Definition at line 57 of file EvalSettings.h.

◆ SEND_EXPAND

const EvalSettings madara::knowledge::EvalSettings::SEND_EXPAND
static

Settings to immediately send modifieds and expand variables.

Definition at line 60 of file EvalSettings.h.

◆ send_list

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

◆ SEND_NO_EXPAND

const EvalSettings madara::knowledge::EvalSettings::SEND_NO_EXPAND
static

Settings to immediately send modifieds and not expand variables.

Definition at line 63 of file EvalSettings.h.

◆ signal_changes

bool madara::knowledge::KnowledgeUpdateSettings::signal_changes = true
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 108 of file KnowledgeUpdateSettings.h.

◆ stream_changes

bool madara::knowledge::KnowledgeUpdateSettings::stream_changes = true
inherited

Toggle for streaming support.

If this is true, all changes will be streamed to the attached streamer, if any.

Definition at line 144 of file KnowledgeUpdateSettings.h.

◆ track_local_changes

bool madara::knowledge::KnowledgeUpdateSettings::track_local_changes = true
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 121 of file KnowledgeUpdateSettings.h.

◆ treat_globals_as_locals

bool madara::knowledge::KnowledgeUpdateSettings::treat_globals_as_locals = false
inherited

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

Definition at line 100 of file KnowledgeUpdateSettings.h.

◆ treat_locals_as_globals

bool madara::knowledge::KnowledgeUpdateSettings::treat_locals_as_globals = false
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 138 of file KnowledgeUpdateSettings.h.


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