helics  3.5.1
Macros | Enumerations | Variables
helics_enums.h File Reference

base helics enumerations for C and C++ API's More...

Go to the source code of this file.

Macros

#define HELICS_BIG_NUMBER   9223372036.854774
 

Enumerations

enum  HelicsCoreTypes {
  HELICS_CORE_TYPE_DEFAULT = 0 , HELICS_CORE_TYPE_ZMQ = 1 , HELICS_CORE_TYPE_MPI = 2 , HELICS_CORE_TYPE_TEST = 3 ,
  HELICS_CORE_TYPE_INTERPROCESS = 4 , HELICS_CORE_TYPE_IPC = 5 , HELICS_CORE_TYPE_TCP = 6 , HELICS_CORE_TYPE_UDP = 7 ,
  HELICS_CORE_TYPE_ZMQ_SS = 10 , HELICS_CORE_TYPE_NNG = 9 , HELICS_CORE_TYPE_TCP_SS = 11 , HELICS_CORE_TYPE_HTTP = 12 ,
  HELICS_CORE_TYPE_WEBSOCKET = 14 , HELICS_CORE_TYPE_INPROC = 18 , HELICS_CORE_TYPE_NULL = 66 , HELICS_CORE_TYPE_EMPTY = 77
}
 
enum  HelicsDataTypes {
  HELICS_DATA_TYPE_UNKNOWN = -1 , HELICS_DATA_TYPE_STRING = 0 , HELICS_DATA_TYPE_DOUBLE = 1 , HELICS_DATA_TYPE_INT = 2 ,
  HELICS_DATA_TYPE_COMPLEX = 3 , HELICS_DATA_TYPE_VECTOR = 4 , HELICS_DATA_TYPE_COMPLEX_VECTOR = 5 , HELICS_DATA_TYPE_NAMED_POINT = 6 ,
  HELICS_DATA_TYPE_BOOLEAN = 7 , HELICS_DATA_TYPE_TIME = 8 , HELICS_DATA_TYPE_CHAR = 9 , HELICS_DATA_TYPE_RAW = 25 ,
  HELICS_DATA_TYPE_JSON = 30 , HELICS_DATA_TYPE_MULTI = 33 , HELICS_DATA_TYPE_ANY = 25262
}
 
enum  HelicsFederateFlags {
  HELICS_FLAG_OBSERVER = 0 , HELICS_FLAG_UNINTERRUPTIBLE = 1 , HELICS_FLAG_INTERRUPTIBLE = 2 , HELICS_FLAG_SOURCE_ONLY = 4 ,
  HELICS_FLAG_ONLY_TRANSMIT_ON_CHANGE = 6 , HELICS_FLAG_ONLY_UPDATE_ON_CHANGE = 8 , HELICS_FLAG_WAIT_FOR_CURRENT_TIME_UPDATE = 10 , HELICS_FLAG_RESTRICTIVE_TIME_POLICY = 11 ,
  HELICS_FLAG_ROLLBACK = 12 , HELICS_FLAG_FORWARD_COMPUTE = 14 , HELICS_FLAG_REALTIME = 16 , HELICS_FLAG_SINGLE_THREAD_FEDERATE = 27 ,
  HELICS_FLAG_MULTI_THREAD_CORE = 28 , HELICS_FLAG_SINGLE_THREAD_CORE = 29 , HELICS_FLAG_REENTRANT = 38 , HELICS_FLAG_IGNORE_TIME_MISMATCH_WARNINGS = 67 ,
  HELICS_FLAG_STRICT_CONFIG_CHECKING = 75 , HELICS_FLAG_USE_JSON_SERIALIZATION = 79 , HELICS_FLAG_EVENT_TRIGGERED = 81 , HELICS_FLAG_LOCAL_PROFILING_CAPTURE = 96 ,
  HELICS_FLAG_CALLBACK_FEDERATE = 103 , HELICS_FLAG_AUTOMATED_TIME_REQUEST = 106
}
 
enum  HelicsCoreFlags { HELICS_FLAG_DELAY_INIT_ENTRY = 45 , HELICS_FLAG_ENABLE_INIT_ENTRY = 47 , HELICS_FLAG_IGNORE = 999 }
 
enum  HelicsFlags {
  HELICS_FLAG_SLOW_RESPONDING = 29 , HELICS_FLAG_DEBUGGING = 31 , HELICS_FLAG_TERMINATE_ON_ERROR = 72 , HELICS_FLAG_FORCE_LOGGING_FLUSH = 88 ,
  HELICS_FLAG_DUMPLOG = 89 , HELICS_FLAG_PROFILING = 93 , HELICS_FLAG_PROFILING_MARKER = 95 , HELICS_FLAG_ALLOW_REMOTE_CONTROL = 109 ,
  HELICS_FLAG_DISABLE_REMOTE_CONTROL = 110
}
 
enum  HelicsLogLevels {
  HELICS_LOG_LEVEL_DUMPLOG = -10 , HELICS_LOG_LEVEL_NO_PRINT = -4 , HELICS_LOG_LEVEL_ERROR = 0 , HELICS_LOG_LEVEL_PROFILING = 2 ,
  HELICS_LOG_LEVEL_WARNING = 3 , HELICS_LOG_LEVEL_SUMMARY = 6 , HELICS_LOG_LEVEL_CONNECTIONS = 9 , HELICS_LOG_LEVEL_INTERFACES = 12 ,
  HELICS_LOG_LEVEL_TIMING = 15 , HELICS_LOG_LEVEL_DATA = 18 , HELICS_LOG_LEVEL_DEBUG = 21 , HELICS_LOG_LEVEL_TRACE = 24
}
 
enum  HelicsErrorTypes {
  HELICS_ERROR_FATAL = -404 , HELICS_ERROR_EXTERNAL_TYPE = -203 , HELICS_ERROR_OTHER = -101 , HELICS_USER_EXCEPTION = -29 ,
  HELICS_ERROR_INSUFFICIENT_SPACE = -18 , HELICS_ERROR_EXECUTION_FAILURE = -14 , HELICS_ERROR_INVALID_FUNCTION_CALL = -10 , HELICS_ERROR_INVALID_STATE_TRANSITION = -9 ,
  HELICS_WARNING = -8 , HELICS_ERROR_SYSTEM_FAILURE = -6 , HELICS_ERROR_DISCARD = -5 , HELICS_ERROR_INVALID_ARGUMENT = -4 ,
  HELICS_ERROR_INVALID_OBJECT = -3 , HELICS_ERROR_CONNECTION_FAILURE = -2 , HELICS_ERROR_REGISTRATION_FAILURE = -1 , HELICS_OK = 0 ,
  HELICS_ERROR_USER_ABORT = 130 , HELICS_ERROR_TERMINATED = 143
}
 
enum  HelicsProperties {
  HELICS_PROPERTY_TIME_DELTA = 137 , HELICS_PROPERTY_TIME_PERIOD = 140 , HELICS_PROPERTY_TIME_OFFSET = 141 , HELICS_PROPERTY_TIME_RT_LAG = 143 ,
  HELICS_PROPERTY_TIME_RT_LEAD = 144 , HELICS_PROPERTY_TIME_RT_TOLERANCE = 145 , HELICS_PROPERTY_TIME_INPUT_DELAY = 148 , HELICS_PROPERTY_TIME_OUTPUT_DELAY = 150 ,
  HELICS_PROPERTY_TIME_STOPTIME = 152 , HELICS_PROPERTY_TIME_GRANT_TIMEOUT = 161 , HELICS_PROPERTY_INT_CURRENT_ITERATION = 258 , HELICS_PROPERTY_INT_MAX_ITERATIONS = 259 ,
  HELICS_PROPERTY_INT_LOG_LEVEL = 271 , HELICS_PROPERTY_INT_FILE_LOG_LEVEL = 272 , HELICS_PROPERTY_INT_CONSOLE_LOG_LEVEL = 274 , HELICS_PROPERTY_INT_LOG_BUFFER = 276 ,
  HELICS_PROPERTY_INT_INDEX_GROUP = 282
}
 
enum  HelicsMultiInputModes {
  HELICS_MULTI_INPUT_NO_OP = 0 , HELICS_MULTI_INPUT_VECTORIZE_OPERATION = 1 , HELICS_MULTI_INPUT_AND_OPERATION = 2 , HELICS_MULTI_INPUT_OR_OPERATION = 3 ,
  HELICS_MULTI_INPUT_SUM_OPERATION = 4 , HELICS_MULTI_INPUT_DIFF_OPERATION = 5 , HELICS_MULTI_INPUT_MAX_OPERATION = 6 , HELICS_MULTI_INPUT_MIN_OPERATION = 7 ,
  HELICS_MULTI_INPUT_AVERAGE_OPERATION = 8
}
 
enum  HelicsHandleOptions {
  HELICS_HANDLE_OPTION_CONNECTION_REQUIRED = 397 , HELICS_HANDLE_OPTION_CONNECTION_OPTIONAL = 402 , HELICS_HANDLE_OPTION_SINGLE_CONNECTION_ONLY = 407 , HELICS_HANDLE_OPTION_MULTIPLE_CONNECTIONS_ALLOWED = 409 ,
  HELICS_HANDLE_OPTION_BUFFER_DATA = 411 , HELICS_HANDLE_OPTION_RECONNECTABLE = 412 , HELICS_HANDLE_OPTION_STRICT_TYPE_CHECKING = 414 , HELICS_HANDLE_OPTION_RECEIVE_ONLY = 422 ,
  HELICS_HANDLE_OPTION_SOURCE_ONLY = 423 , HELICS_HANDLE_OPTION_IGNORE_UNIT_MISMATCH = 447 , HELICS_HANDLE_OPTION_ONLY_TRANSMIT_ON_CHANGE = 452 , HELICS_HANDLE_OPTION_ONLY_UPDATE_ON_CHANGE = 454 ,
  HELICS_HANDLE_OPTION_IGNORE_INTERRUPTS = 475 , HELICS_HANDLE_OPTION_MULTI_INPUT_HANDLING_METHOD = 507 , HELICS_HANDLE_OPTION_INPUT_PRIORITY_LOCATION = 510 , HELICS_HANDLE_OPTION_CLEAR_PRIORITY_LIST = 512 ,
  HELICS_HANDLE_OPTION_CONNECTIONS = 522 , HELICS_HANDLE_OPTION_TIME_RESTRICTED = 557
}
 
enum  HelicsFilterTypes {
  HELICS_FILTER_TYPE_CUSTOM = 0 , HELICS_FILTER_TYPE_DELAY = 1 , HELICS_FILTER_TYPE_RANDOM_DELAY = 2 , HELICS_FILTER_TYPE_RANDOM_DROP = 3 ,
  HELICS_FILTER_TYPE_REROUTE = 4 , HELICS_FILTER_TYPE_CLONE = 5 , HELICS_FILTER_TYPE_FIREWALL = 6
}
 
enum  HelicsTranslatorTypes { HELICS_TRANSLATOR_TYPE_CUSTOM = 0 , HELICS_TRANSLATOR_TYPE_JSON = 11 , HELICS_TRANSLATOR_TYPE_BINARY = 12 }
 
enum  HelicsSequencingModes { HELICS_SEQUENCING_MODE_FAST = 0 , HELICS_SEQUENCING_MODE_ORDERED = 1 , HELICS_SEQUENCING_MODE_DEFAULT = 2 }
 

Variables

const int HELICS_INVALID_OPTION_INDEX = -101
 
const int HELICS_INVALID_PROPERTY_VALUE = -972
 
const double cHelicsBigNumber = HELICS_BIG_NUMBER
 

Detailed Description

base helics enumerations for C and C++ API's

Enumeration Type Documentation

◆ HelicsCoreFlags

enumeration of additional core flags

Enumerator
HELICS_FLAG_DELAY_INIT_ENTRY 

used to delay a core from entering initialization mode even if it would otherwise be ready

HELICS_FLAG_ENABLE_INIT_ENTRY 

used to clear the HELICS_DELAY_INIT_ENTRY flag in cores

HELICS_FLAG_IGNORE 

ignored flag used to test some code paths

◆ HelicsCoreTypes

pick a core type depending on compile configuration usually either ZMQ if available or TCP

Enumerator
HELICS_CORE_TYPE_DEFAULT 

a default core type that will default to something available

HELICS_CORE_TYPE_ZMQ 

use the Zero MQ networking protocol

HELICS_CORE_TYPE_MPI 

use MPI for operation on a parallel cluster

HELICS_CORE_TYPE_TEST 

use the Test core if all federates are in the same process

HELICS_CORE_TYPE_INTERPROCESS 

interprocess uses memory mapped files to transfer data (for use when all federates are on the same machine

HELICS_CORE_TYPE_IPC 

interprocess uses memory mapped files to transfer data (for use when all federates are on the same machine ipc is the same as /ref HELICS_CORE_TYPE_interprocess

HELICS_CORE_TYPE_TCP 

use a generic TCP protocol message stream to send messages

HELICS_CORE_TYPE_UDP 

use UDP packets to send the data

HELICS_CORE_TYPE_ZMQ_SS 

single socket version of ZMQ core usually for high fed count on the same system

HELICS_CORE_TYPE_NNG 

for using the nanomsg communications

HELICS_CORE_TYPE_TCP_SS 

a single socket version of the TCP core for more easily handling firewalls

HELICS_CORE_TYPE_HTTP 

a core type using http for communication

HELICS_CORE_TYPE_WEBSOCKET 

a core using websockets for communication

HELICS_CORE_TYPE_INPROC 

an in process core type for handling communications in shared memory it is pretty similar to the test core but stripped from the "test" components

HELICS_CORE_TYPE_NULL 

an explicit core type that is recognized but explicitly doesn't exist, for testing and a few other assorted reasons

HELICS_CORE_TYPE_EMPTY 

an explicit core type exists but does nothing but return empty values or sink calls

◆ HelicsDataTypes

enumeration of allowable data types for publications and inputs

Enumerator
HELICS_DATA_TYPE_STRING 

a sequence of characters

HELICS_DATA_TYPE_DOUBLE 

a double precision floating point number

HELICS_DATA_TYPE_INT 

a 64 bit integer

HELICS_DATA_TYPE_COMPLEX 

a pair of doubles representing a complex number

HELICS_DATA_TYPE_VECTOR 

an array of doubles

HELICS_DATA_TYPE_COMPLEX_VECTOR 

a complex vector object

HELICS_DATA_TYPE_NAMED_POINT 

a named point consisting of a string and a double

HELICS_DATA_TYPE_BOOLEAN 

a boolean data type

HELICS_DATA_TYPE_TIME 

time data type

HELICS_DATA_TYPE_CHAR 

data type for a single character

HELICS_DATA_TYPE_RAW 

raw data type

HELICS_DATA_TYPE_JSON 

type converts to a valid json string

HELICS_DATA_TYPE_MULTI 

the data type can change

HELICS_DATA_TYPE_ANY 

open type that can be anything

◆ HelicsErrorTypes

enumeration of return values from the C interface functions

Enumerator
HELICS_ERROR_FATAL 

global fatal error for federation

HELICS_ERROR_EXTERNAL_TYPE 

an unknown non-helics error was produced

HELICS_ERROR_OTHER 

the function produced a helics error of some other type

HELICS_USER_EXCEPTION 

user code generated exception

HELICS_ERROR_INSUFFICIENT_SPACE 

insufficient space is available to store requested data

HELICS_ERROR_EXECUTION_FAILURE 

the function execution has failed

HELICS_ERROR_INVALID_FUNCTION_CALL 

the call made was invalid in the present state of the calling object

HELICS_ERROR_INVALID_STATE_TRANSITION 

error issued when an invalid state transition occurred

HELICS_WARNING 

the function issued a warning of some kind

HELICS_ERROR_SYSTEM_FAILURE 

the federate has terminated unexpectedly and the call cannot be completed

HELICS_ERROR_DISCARD 

the input was discarded and not used for some reason

HELICS_ERROR_INVALID_ARGUMENT 

the parameter passed was invalid and unable to be used

HELICS_ERROR_INVALID_OBJECT 

indicator that the object used was not a valid object

HELICS_ERROR_CONNECTION_FAILURE 

the operation to connect has failed

HELICS_ERROR_REGISTRATION_FAILURE 

registration has failed

HELICS_OK 

the function executed successfully

HELICS_ERROR_USER_ABORT 

user system abort to match typical SIGINT value

HELICS_ERROR_TERMINATED 

force termination to match typical SIGKILL value

◆ HelicsFederateFlags

enumeration of possible federate flags

Enumerator
HELICS_FLAG_OBSERVER 

flag indicating that a federate is observe only

HELICS_FLAG_UNINTERRUPTIBLE 

flag indicating that a federate can only return requested times

HELICS_FLAG_INTERRUPTIBLE 

flag indicating that a federate can be interrupted

HELICS_FLAG_SOURCE_ONLY 

flag indicating that a federate/interface is a signal generator only

HELICS_FLAG_ONLY_TRANSMIT_ON_CHANGE 

flag indicating a federate/interface should only transmit values if they have changed(binary equivalence)

HELICS_FLAG_ONLY_UPDATE_ON_CHANGE 

flag indicating a federate/interface should only trigger an update if a value has changed (binary equivalence)

HELICS_FLAG_WAIT_FOR_CURRENT_TIME_UPDATE 

flag indicating a federate should only grant time if all other federates have already passed the requested time

HELICS_FLAG_RESTRICTIVE_TIME_POLICY 

flag indicating a federate should operate on a restrictive time policy, which disallows some 2nd order time evaluation and can be useful for certain types of dependency cycles and update patterns, but generally shouldn't be used as it can lead to some very slow update conditions

HELICS_FLAG_ROLLBACK 

flag indicating that a federate has rollback capability

HELICS_FLAG_FORWARD_COMPUTE 

flag indicating that a federate performs forward computation and does internal rollback

HELICS_FLAG_REALTIME 

flag indicating that a federate needs to run in real time

HELICS_FLAG_SINGLE_THREAD_FEDERATE 

flag indicating that the federate will only interact on a single thread

HELICS_FLAG_MULTI_THREAD_CORE 

flag indicating use of a thread safe core

HELICS_FLAG_SINGLE_THREAD_CORE 

flag indicating use of a single threaded core

HELICS_FLAG_REENTRANT 

flag indicating the federate can be reentrant

HELICS_FLAG_IGNORE_TIME_MISMATCH_WARNINGS 

used to not display warnings on mismatched requested times

HELICS_FLAG_STRICT_CONFIG_CHECKING 

specify that checking on configuration files should be strict and throw and error on any invalid values

HELICS_FLAG_USE_JSON_SERIALIZATION 

specify that the federate should use json serialization for all data types

HELICS_FLAG_EVENT_TRIGGERED 

specify that the federate is event triggered-meaning (all/most) events are triggered by incoming events

HELICS_FLAG_LOCAL_PROFILING_CAPTURE 

specify that that federate should capture the profiling data to the local federate logging system

HELICS_FLAG_CALLBACK_FEDERATE 

specify that the federate is a callback based federate using callbacks for execution

HELICS_FLAG_AUTOMATED_TIME_REQUEST 

specify that a federate should automatically call timeRequest on completion of current request

◆ HelicsFilterTypes

enumeration of the predefined filter types

Enumerator
HELICS_FILTER_TYPE_CUSTOM 

a custom filter type that executes a user defined callback

HELICS_FILTER_TYPE_DELAY 

a filter type that executes a fixed delay on a message

HELICS_FILTER_TYPE_RANDOM_DELAY 

a filter type that executes a random delay on the messages

HELICS_FILTER_TYPE_RANDOM_DROP 

a filter type that randomly drops messages

HELICS_FILTER_TYPE_REROUTE 

a filter type that reroutes a message to a different destination than originally specified

HELICS_FILTER_TYPE_CLONE 

a filter type that duplicates a message and sends the copy to a different destination

HELICS_FILTER_TYPE_FIREWALL 

a customizable filter type that can perform different actions on a message based on firewall like rules

◆ HelicsFlags

enumeration of general flags that can be used in federates/cores/brokers

Enumerator
HELICS_FLAG_SLOW_RESPONDING 

flag specifying that a federate, core, or broker may be slow to respond to pings If the federate goes offline there is no good way to detect it so use with caution

HELICS_FLAG_DEBUGGING 

flag specifying the federate/core/broker is operating in a user debug mode so deadlock timers and timeout are disabled this flag is a combination of slow_responding and disabling of some timeouts

HELICS_FLAG_TERMINATE_ON_ERROR 

specify that a federate error should terminate the federation

HELICS_FLAG_FORCE_LOGGING_FLUSH 

specify that the log files should be flushed on every log message

HELICS_FLAG_DUMPLOG 

specify that a full log should be dumped into a file

HELICS_FLAG_PROFILING 

specify that helics should capture profiling data

HELICS_FLAG_PROFILING_MARKER 

flag trigger for generating a profiling marker

HELICS_FLAG_ALLOW_REMOTE_CONTROL 

specify that the federate/core/broker should allow some remote control operations such as finalize

HELICS_FLAG_DISABLE_REMOTE_CONTROL 

specify that the federate/core/broker should NOT allow some remote control operations such as finalize

◆ HelicsHandleOptions

enumeration of options that apply to handles

Enumerator
HELICS_HANDLE_OPTION_CONNECTION_REQUIRED 

specify that a connection is required for an interface and will generate an error if not available

HELICS_HANDLE_OPTION_CONNECTION_OPTIONAL 

specify that a connection is NOT required for an interface and will only be made if available no warning will be issues if not available

HELICS_HANDLE_OPTION_SINGLE_CONNECTION_ONLY 

specify that only a single connection is allowed for an interface

HELICS_HANDLE_OPTION_MULTIPLE_CONNECTIONS_ALLOWED 

specify that multiple connections are allowed for an interface

HELICS_HANDLE_OPTION_BUFFER_DATA 

specify that the last data should be buffered and sent on subscriptions after init

HELICS_HANDLE_OPTION_RECONNECTABLE 

specify that the handle can be reconnected for reentrant federates

HELICS_HANDLE_OPTION_STRICT_TYPE_CHECKING 

specify that the types should be checked strictly for pub/sub and filters

HELICS_HANDLE_OPTION_RECEIVE_ONLY 

specify that the handle is receive only

HELICS_HANDLE_OPTION_SOURCE_ONLY 

specify that the handle is source only

HELICS_HANDLE_OPTION_IGNORE_UNIT_MISMATCH 

specify that the mismatching units should be ignored

HELICS_HANDLE_OPTION_ONLY_TRANSMIT_ON_CHANGE 

specify that an interface will only transmit on change(only applicable to publications)

HELICS_HANDLE_OPTION_ONLY_UPDATE_ON_CHANGE 

specify that an interface will only update if the value has actually changed

HELICS_HANDLE_OPTION_IGNORE_INTERRUPTS 

specify that an interface does not participate in determining time interrupts

HELICS_HANDLE_OPTION_MULTI_INPUT_HANDLING_METHOD 

specify the multi-input processing method for inputs

HELICS_HANDLE_OPTION_INPUT_PRIORITY_LOCATION 

specify the source index with the highest priority

HELICS_HANDLE_OPTION_CLEAR_PRIORITY_LIST 

specify that the priority list should be cleared or question if it is cleared

HELICS_HANDLE_OPTION_CONNECTIONS 

specify the required number of connections or get the actual number of connections

HELICS_HANDLE_OPTION_TIME_RESTRICTED 

specify that the interface only sends or receives data at specified intervals

◆ HelicsLogLevels

log level definitions

Enumerator
HELICS_LOG_LEVEL_DUMPLOG 

log level for dumping log messages

HELICS_LOG_LEVEL_NO_PRINT 

don't print anything except a few catastrophic errors

HELICS_LOG_LEVEL_ERROR 

only print error level indicators

HELICS_LOG_LEVEL_PROFILING 

profiling log level

HELICS_LOG_LEVEL_WARNING 

only print warnings and errors

HELICS_LOG_LEVEL_SUMMARY 

warning errors and summary level information

HELICS_LOG_LEVEL_CONNECTIONS 

summary+ notices about federate and broker connections +messages about network connections

HELICS_LOG_LEVEL_INTERFACES 

connections+ interface definitions

HELICS_LOG_LEVEL_TIMING 

interfaces + timing message

HELICS_LOG_LEVEL_DATA 

timing+ data transfer notices

HELICS_LOG_LEVEL_DEBUG 

data+ additional debug message

HELICS_LOG_LEVEL_TRACE 

all internal messages

◆ HelicsMultiInputModes

enumeration of the multi_input operations

Enumerator
HELICS_MULTI_INPUT_NO_OP 

time and priority order the inputs from the core library

HELICS_MULTI_INPUT_VECTORIZE_OPERATION 

vectorize the inputs either double vector or string vector

HELICS_MULTI_INPUT_AND_OPERATION 

all inputs are assumed to be boolean and all must be true to return true

HELICS_MULTI_INPUT_OR_OPERATION 

all inputs are assumed to be boolean and at least one must be true to return true

HELICS_MULTI_INPUT_SUM_OPERATION 

sum all the inputs

HELICS_MULTI_INPUT_DIFF_OPERATION 

do a difference operation on the inputs, first-sum(rest) for double input, vector diff for vector input

HELICS_MULTI_INPUT_MAX_OPERATION 

find the max of the inputs

HELICS_MULTI_INPUT_MIN_OPERATION 

find the min of the inputs

HELICS_MULTI_INPUT_AVERAGE_OPERATION 

take the average of the inputs

◆ HelicsProperties

enumeration of properties that apply to federates and sometimes cores

Enumerator
HELICS_PROPERTY_TIME_DELTA 

the property controlling the minimum time delta for a federate

HELICS_PROPERTY_TIME_PERIOD 

the property controlling the period for a federate

HELICS_PROPERTY_TIME_OFFSET 

the property controlling time offset for the period of federate

HELICS_PROPERTY_TIME_RT_LAG 

the property controlling real time lag for a federate the max time a federate can lag real time

HELICS_PROPERTY_TIME_RT_LEAD 

the property controlling real time lead for a federate the max time a federate can be ahead of real time

HELICS_PROPERTY_TIME_RT_TOLERANCE 

the property controlling real time tolerance for a federate sets both rt_lag and rt_lead

HELICS_PROPERTY_TIME_INPUT_DELAY 

the property controlling input delay for a federate

HELICS_PROPERTY_TIME_OUTPUT_DELAY 

the property controlling output delay for a federate

HELICS_PROPERTY_TIME_STOPTIME 

specify the maximum time of a federate

HELICS_PROPERTY_TIME_GRANT_TIMEOUT 

the property specifying a timeout to trigger actions if the time for granting exceeds a certain threshold

HELICS_PROPERTY_INT_CURRENT_ITERATION 

read only property getting the current iteration count

HELICS_PROPERTY_INT_MAX_ITERATIONS 

integer property controlling the maximum number of iterations in a federate

HELICS_PROPERTY_INT_LOG_LEVEL 

integer property controlling the log level in a federate see HelicsLogLevels

HELICS_PROPERTY_INT_FILE_LOG_LEVEL 

integer property controlling the log level for file logging in a federate see HelicsLogLevels

HELICS_PROPERTY_INT_CONSOLE_LOG_LEVEL 

integer property controlling the log level for console logging in a federate see HelicsLogLevels

HELICS_PROPERTY_INT_LOG_BUFFER 

integer property controlling the size of the log buffer

HELICS_PROPERTY_INT_INDEX_GROUP 

integer property specifying an index group

◆ HelicsSequencingModes

enumeration of sequencing modes for queries and commands fast is the default, meaning the query travels along priority channels and takes precedence of over existing messages; ordered means it follows normal priority patterns and will be ordered along with existing messages

Enumerator
HELICS_SEQUENCING_MODE_FAST 

sequencing mode to operate on priority channels

HELICS_SEQUENCING_MODE_ORDERED 

sequencing mode to operate on the normal channels

HELICS_SEQUENCING_MODE_DEFAULT 

select the default channel

◆ HelicsTranslatorTypes

enumeration of the predefined translator types

Enumerator
HELICS_TRANSLATOR_TYPE_CUSTOM 

a custom filter type that executes a user defined callback

HELICS_TRANSLATOR_TYPE_JSON 

a translator type that converts to and from JSON

HELICS_TRANSLATOR_TYPE_BINARY 

a translator type that just encodes the message again in binary

Variable Documentation

◆ HELICS_INVALID_PROPERTY_VALUE

const int HELICS_INVALID_PROPERTY_VALUE = -972

result returned for requesting the value of an invalid/unknown property