![]() |
helics
3.0.1
|
#include <CombinationFederate.hpp>
Public Member Functions | |
CombinationFederate () | |
CombinationFederate (const std::string &fedName, const FederateInfo &fi) | |
CombinationFederate (const std::string &fedName, const std::shared_ptr< Core > &core, const FederateInfo &fi=FederateInfo{}) | |
CombinationFederate (const std::string &fedName, CoreApp &core, const FederateInfo &fi=FederateInfo{}) | |
CombinationFederate (const std::string &fedName, const std::string &configString) | |
CombinationFederate (const std::string &configString) | |
CombinationFederate (CombinationFederate &&fed) noexcept | |
virtual | ~CombinationFederate () |
CombinationFederate & | operator= (CombinationFederate &&fed) noexcept |
CombinationFederate (const CombinationFederate &fed)=delete | |
CombinationFederate & | operator= (const CombinationFederate &fed)=delete |
virtual void | setFlagOption (int flagIndex, bool flagValue=true) override |
virtual void | disconnect () override |
virtual void | registerInterfaces (const std::string &configString) override |
![]() | |
ValueFederate (const std::string &fedName, const FederateInfo &fi) | |
ValueFederate (const std::string &fedName, const std::shared_ptr< Core > &core, const FederateInfo &fi=FederateInfo{}) | |
ValueFederate (const std::string &fedName, CoreApp &core, const FederateInfo &fi=FederateInfo{}) | |
ValueFederate (const std::string &configString) | |
ValueFederate (const std::string &fedName, const std::string &configString) | |
ValueFederate () | |
ValueFederate (bool res) | |
ValueFederate (const char *configString) | |
ValueFederate (const ValueFederate &fed)=delete | |
ValueFederate (ValueFederate &&fed) noexcept | |
virtual | ~ValueFederate () |
ValueFederate & | operator= (ValueFederate &&fed) noexcept |
ValueFederate & | operator= (const ValueFederate &fed)=delete |
Publication & | registerPublication (const std::string &name, const std::string &type, const std::string &units=std::string()) |
template<typename X > | |
Publication & | registerPublication (const std::string &name, const std::string &units=std::string()) |
Publication & | registerGlobalPublication (const std::string &name, const std::string &type, const std::string &units=std::string()) |
template<typename X > | |
Publication & | registerGlobalPublication (const std::string &name, const std::string &units=std::string()) |
template<typename X > | |
Publication & | registerIndexedPublication (const std::string &name, int index1, const std::string &units=std::string()) |
template<typename X > | |
Publication & | registerIndexedPublication (const std::string &name, int index1, int index2, const std::string &units=std::string()) |
Input & | registerInput (const std::string &name, const std::string &type, const std::string &units=std::string()) |
Input & | registerGlobalInput (const std::string &name, const std::string &type, const std::string &units=std::string()) |
template<typename X > | |
Input & | registerInput (const std::string &name, const std::string &units=std::string()) |
template<typename X > | |
Input & | registerGlobalInput (const std::string &name, const std::string &units=std::string()) |
template<typename X > | |
Input & | registerIndexedInput (const std::string &name, int index1, const std::string &units=std::string()) |
template<typename X > | |
Input & | registerIndexedInput (const std::string &name, int index1, int index2, const std::string &units=std::string()) |
Input & | registerSubscription (const std::string &target, const std::string &units=std::string()) |
Input & | registerIndexedSubscription (const std::string &target, int index1, const std::string &units=std::string()) |
Input & | registerIndexedSubscription (const std::string &target, int index1, int index2, const std::string &units=std::string()) |
void | addAlias (const Input &inp, const std::string &shortcutName) |
void | addAlias (const Publication &pub, const std::string &shortcutName) |
void | setDefaultValue (const Input &inp, data_view block) |
void | registerValueInterfaces (const std::string &configString) |
data_view | getBytes (const Input &inp) |
bool | forceCoreUpdate (Input &inp) |
void | publishBytes (const Publication &pub, data_view block) |
void | publishBytes (const Publication &pub, const char *data, size_t data_size) |
void | registerFromPublicationJSON (const std::string &jsonString) |
void | publishJSON (const std::string &jsonString) |
void | addTarget (const Publication &pub, const std::string &target) |
void | addTarget (const Input &inp, const std::string &target) |
void | removeTarget (const Publication &pub, const std::string &target) |
void | removeTarget (const Input &inp, const std::string &target) |
template<class iType > | |
void | addIndexedTarget (const iType &iObject, const std::string &target, int index1) |
template<class iType > | |
void | addIndexedTarget (const iType &iObject, const std::string &target, int index1, int index2) |
bool | isUpdated (const Input &inp) const |
Time | getLastUpdateTime (const Input &inp) const |
void | clearUpdates () |
void | clearUpdate (const Input &inp) |
std::vector< int > | queryUpdates () |
const std::string & | getTarget (const Input &inp) const |
const Input & | getInput (const std::string &name) const |
Input & | getInput (const std::string &name) |
const Input & | getInput (int index) const |
Input & | getInput (int index) |
const Input & | getInput (const std::string &name, int index1) const |
const Input & | getInput (const std::string &name, int index1, int index2) const |
const Input & | getSubscription (const std::string &target) const |
Input & | getSubscription (const std::string &target) |
Publication & | getPublication (const std::string &name) |
const Publication & | getPublication (const std::string &name) const |
Publication & | getPublication (int index) |
const Publication & | getPublication (int index) const |
const Publication & | getPublication (const std::string &name, int index1) const |
const Publication & | getPublication (const std::string &name, int index1, int index2) const |
void | setInputNotificationCallback (std::function< void(Input &, Time)> callback) |
void | setInputNotificationCallback (Input &inp, std::function< void(Input &, Time)> callback) |
int | getPublicationCount () const |
int | getInputCount () const |
![]() | |
Federate (const std::string &fedname, const FederateInfo &fi) | |
Federate (const std::string &fedname, const std::shared_ptr< Core > &core, const FederateInfo &fi=FederateInfo{}) | |
Federate (const std::string &fedname, CoreApp &core, const FederateInfo &fi=FederateInfo{}) | |
Federate (const std::string &configString) | |
Federate (const std::string &fedname, const std::string &configString) | |
Federate () noexcept | |
Federate (Federate &&fed) noexcept | |
Federate (const Federate &fed)=delete | |
virtual | ~Federate () |
Federate & | operator= (Federate &&fed) noexcept |
Federate & | operator= (const Federate &fed)=delete |
void | enterInitializingMode () |
void | enterInitializingModeAsync () |
bool | isAsyncOperationCompleted () const |
void | enterInitializingModeComplete () |
IterationResult | enterExecutingMode (IterationRequest iterate=IterationRequest::NO_ITERATIONS) |
void | enterExecutingModeAsync (IterationRequest iterate=IterationRequest::NO_ITERATIONS) |
IterationResult | enterExecutingModeComplete () |
void | finalize () |
void | finalizeAsync () |
void | finalizeComplete () |
void | localError (int errorcode, const std::string &message) |
void | globalError (int errorcode, const std::string &message) |
void | localError (int errorcode) |
void | globalError (int errorcode) |
void | setSeparator (char separator) |
Time | requestTime (Time nextInternalTimeStep) |
Time | requestNextStep () |
Time | requestTimeAdvance (Time timeDelta) |
iteration_time | requestTimeIterative (Time nextInternalTimeStep, IterationRequest iterate) |
void | requestTimeAsync (Time nextInternalTimeStep) |
void | requestTimeIterativeAsync (Time nextInternalTimeStep, IterationRequest iterate) |
Time | requestTimeComplete () |
iteration_time | requestTimeIterativeComplete () |
void | setTag (const std::string &tag, const std::string &value) |
const std::string & | getTag (const std::string &tag) const |
void | setProperty (int32_t option, double timeValue) |
void | setProperty (int32_t option, Time timeValue) |
void | setProperty (int32_t option, int32_t optionValue) |
Time | getTimeProperty (int32_t option) const |
virtual bool | getFlagOption (int flag) const |
int | getIntegerProperty (int32_t option) const |
void | setLoggingCallback (const std::function< void(int, std::string_view, std::string_view)> &logFunction) |
std::string | query (const std::string &target, const std::string &queryStr, HelicsSequencingModes mode=HELICS_SEQUENCING_MODE_FAST) |
std::string | query (const std::string &queryStr, HelicsSequencingModes mode=HELICS_SEQUENCING_MODE_FAST) |
QueryId | queryAsync (const std::string &target, const std::string &queryStr, HelicsSequencingModes mode=HELICS_SEQUENCING_MODE_FAST) |
QueryId | queryAsync (const std::string &queryStr, HelicsSequencingModes mode=HELICS_SEQUENCING_MODE_FAST) |
std::string | queryComplete (QueryId queryIndex) |
bool | isQueryCompleted (QueryId queryIndex) const |
void | setQueryCallback (const std::function< std::string(std::string_view)> &queryFunction) |
void | setGlobal (const std::string &valueName, const std::string &value) |
void | sendCommand (const std::string &target, const std::string &commandStr, HelicsSequencingModes mode=HelicsSequencingModes::HELICS_SEQUENCING_MODE_FAST) |
std::pair< std::string, std::string > | getCommand () |
std::pair< std::string, std::string > | waitCommand () |
void | addDependency (const std::string &fedName) |
Filter & | registerGlobalFilter (const std::string &filterName, const std::string &inputType=std::string(), const std::string &outputType=std::string()) |
CloningFilter & | registerGlobalCloningFilter (const std::string &filterName, const std::string &inputType=std::string(), const std::string &outputType=std::string()) |
Filter & | registerFilter (const std::string &filterName, const std::string &inputType=std::string(), const std::string &outputType=std::string()) |
CloningFilter & | registerCloningFilter (const std::string &filterName, const std::string &inputType=std::string(), const std::string &outputType=std::string()) |
Filter & | registerFilter () |
CloningFilter & | registerCloningFilter () |
const Filter & | getFilter (const std::string &filterName) const |
const Filter & | getFilter (int index) const |
Filter & | getFilter (const std::string &filterName) |
Filter & | getFilter (int index) |
void | setFilterOperator (const Filter &filt, std::shared_ptr< FilterOperator > op) |
register a operator for the specified filter More... | |
int | getFilterCount () const |
void | registerFilterInterfaces (const std::string &configString) |
auto | getID () const noexcept |
Modes | getCurrentMode () const |
Time | getCurrentTime () const |
const std::string & | getName () const |
const std::shared_ptr< Core > & | getCorePointer () |
int | filterCount () const |
void | logMessage (int level, const std::string &message) const |
void | logErrorMessage (const std::string &message) const |
void | logWarningMessage (const std::string &message) const |
void | logInfoMessage (const std::string &message) const |
void | logDebugMessage (const std::string &message) const |
void | completeOperation () |
![]() | |
MessageFederate (const std::string &fedName, const FederateInfo &fi) | |
MessageFederate (const std::string &fedName, const std::shared_ptr< Core > &core, const FederateInfo &fi=FederateInfo{}) | |
MessageFederate (const std::string &fedName, CoreApp &core, const FederateInfo &fi=FederateInfo{}) | |
MessageFederate (const std::string &name, const std::string &configString) | |
MessageFederate (const std::string &configString) | |
MessageFederate (const char *configString) | |
MessageFederate (MessageFederate &&mFed) noexcept | |
MessageFederate (const MessageFederate &mFed)=delete | |
MessageFederate () | |
MessageFederate (bool res) | |
virtual | ~MessageFederate () |
MessageFederate & | operator= (MessageFederate &&mFed) noexcept |
MessageFederate & | operator= (const MessageFederate &mFed)=delete |
Endpoint & | registerEndpoint (const std::string &eptName=std::string(), const std::string &type=std::string()) |
Endpoint & | registerTargetedEndpoint (const std::string &eptName=std::string(), const std::string &type=std::string()) |
Endpoint & | registerGlobalEndpoint (const std::string &eptName, const std::string &type=std::string()) |
Endpoint & | registerGlobalTargetedEndpoint (const std::string &eptName, const std::string &type=std::string()) |
Endpoint & | registerIndexedEndpoint (const std::string &eptName, int index1, const std::string &type=std::string()) |
void | registerMessageInterfaces (const std::string &configString) |
void | subscribe (const Endpoint &ept, std::string_view key) |
bool | hasMessage () const |
bool | hasMessage (const Endpoint &ept) const |
uint64_t | pendingMessageCount (const Endpoint &ept) const |
uint64_t | pendingMessageCount () const |
std::unique_ptr< Message > | getMessage (const Endpoint &ept) |
std::unique_ptr< Message > | getMessage () |
Endpoint & | getEndpoint (const std::string &name) const |
Endpoint & | getEndpoint (int index) const |
void | setMessageNotificationCallback (const std::function< void(Endpoint &, Time)> &callback) |
void | setMessageNotificationCallback (const Endpoint &ept, const std::function< void(Endpoint &, Time)> &callback) |
int | getEndpointCount () const |
Protected Member Functions | |
virtual void | updateTime (Time newTime, Time oldTime) override |
virtual void | startupToInitializeStateTransition () override |
virtual void | initializeToExecuteStateTransition (IterationResult result) override |
virtual std::string | localQuery (const std::string &queryStr) const override |
![]() | |
virtual void | disconnectTransition () |
Additional Inherited Members | |
![]() | |
enum | Modes : char { Modes::STARTUP = 0, Modes::INITIALIZING = 1, Modes::EXECUTING = 2, Modes::FINALIZE = 3, Modes::ERROR_STATE = 4, Modes::PENDING_INIT = 5, Modes::PENDING_EXEC = 6, Modes::PENDING_TIME = 7, Modes::PENDING_ITERATIVE_TIME = 8, Modes::PENDING_FINALIZE = 9, Modes::FINISHED = 10 } |
![]() | |
std::atomic< Modes > | currentMode {Modes::STARTUP} |
the current state of the simulation | |
char | nameSegmentSeparator = '/' |
the separator between automatically prependend names | |
bool | strictConfigChecking {true} |
bool | useJsonSerialization {false} |
bool | observerMode {false} |
std::shared_ptr< Core > | coreObject |
reference to the core simulation API | |
Time | currentTime = Time::minVal() |
the current simulation time | |
class defining a federate that can use both the value and message interfaces
|
default |
default constructor
|
explicit |
constructor taking a federate information structure and using the default core
fedName | the name of the federate, may be left empty to use a default or one found in fi |
fi | a federate information structure |
helics::CombinationFederate::CombinationFederate | ( | const std::string & | fedName, |
const std::shared_ptr< Core > & | core, | ||
const FederateInfo & | fi = FederateInfo{} |
||
) |
constructor taking a federate information structure and using the given core
fedName | the name of the federate, may be left empty to use a default or one found in fi |
core | a pointer to core object which the federate can join |
fi | a federate information structure |
helics::CombinationFederate::CombinationFederate | ( | const std::string & | fedName, |
CoreApp & | core, | ||
const FederateInfo & | fi = FederateInfo{} |
||
) |
helics::CombinationFederate::CombinationFederate | ( | const std::string & | fedName, |
const std::string & | configString | ||
) |
constructor taking a federate name and a file with the required information
fedName | the name of the federate, can be empty to use the name from the configString |
configString | can be either a JSON file a TOML file (with extension TOML) or a string containing JSON code or a string with command line arguments |
References registerInterfaces().
|
explicit |
constructor taking a file with the required information
configString | can be either a JSON file a TOML file (with extension TOML) or a string containing JSON code or a string with command line arguments |
References registerInterfaces().
|
defaultnoexcept |
move construction
|
virtualdefault |
destructor
|
delete |
delete the copy constructor
|
overridevirtual |
disconnect a simulation from the core (will also call finalize before disconnecting if necessary)
Reimplemented from helics::MessageFederate.
References helics::MessageFederate::disconnect(), and helics::ValueFederate::disconnect().
|
overrideprotectedvirtual |
function to deal with any operations that need to occur on the transition from startup to initialize
Reimplemented from helics::MessageFederate.
References helics::MessageFederate::initializeToExecuteStateTransition(), and helics::ValueFederate::initializeToExecuteStateTransition().
|
overrideprotectedvirtual |
function to generate results for a local Query
should return an empty string if the query is not recognized
Reimplemented from helics::MessageFederate.
References helics::MessageFederate::localQuery(), and helics::ValueFederate::localQuery().
|
defaultnoexcept |
move assignment
|
delete |
copy assignment deleted
|
overridevirtual |
register a set of interfaces defined in a file
call is only valid in startup mode
configString | the location of the file or config String to load to generate the interfaces |
Reimplemented from helics::MessageFederate.
References helics::Federate::registerFilterInterfaces(), helics::MessageFederate::registerMessageInterfaces(), and helics::ValueFederate::registerValueInterfaces().
Referenced by CombinationFederate().
|
overridevirtual |
set a flag for the federate
flag | an index into the flag /ref flag-definitions.h |
flagValue | the value of the flag defaults to true |
Reimplemented from helics::ValueFederate.
References helics::ValueFederate::setFlagOption().
|
overrideprotectedvirtual |
function to deal with any operations that need to occur on the transition from startup to initialize
Reimplemented from helics::MessageFederate.
References helics::MessageFederate::startupToInitializeStateTransition(), and helics::ValueFederate::startupToInitializeStateTransition().
|
overrideprotectedvirtual |
function to deal with any operations that need to occur on a time update
Reimplemented from helics::MessageFederate.
References helics::MessageFederate::updateTime(), and helics::ValueFederate::updateTime().