helics  3.5.2
Public Member Functions | List of all members
helics::CallbackFederate Class Reference

#include <CallbackFederate.hpp>

+ Inheritance diagram for helics::CallbackFederate:

Public Member Functions

 CallbackFederate ()
 
 CallbackFederate (std::string_view fedName, const FederateInfo &fedInfo)
 
 CallbackFederate (std::string_view fedName, const std::shared_ptr< Core > &core, const FederateInfo &fedInfo=FederateInfo{})
 
 CallbackFederate (std::string_view fedName, CoreApp &core, const FederateInfo &fedInfo=FederateInfo{})
 
 CallbackFederate (std::string_view fedName, const std::string &configString)
 
 CallbackFederate (const std::string &configString)
 
 CallbackFederate (CallbackFederate &&fed) noexcept
 
virtual ~CallbackFederate ()
 
CallbackFederateoperator= (CallbackFederate &&fed) noexcept
 
 CallbackFederate (const CallbackFederate &fed)=delete
 
CallbackFederateoperator= (const CallbackFederate &fed)=delete
 
void setInitializeCallback (std::function< IterationRequest()> initializeCallback)
 
void setNextTimeIterativeCallback (std::function< std::pair< Time, IterationRequest >(iteration_time)> nextTimeCallback)
 
void setNextTimeCallback (std::function< Time(Time)> nextTimeCallback)
 
void clearNextTimeCallback ()
 
virtual void setFlagOption (int32_t property, bool val) override
 
- Public Member Functions inherited from helics::CombinationFederate
 CombinationFederate ()
 
 CombinationFederate (std::string_view fedName, const FederateInfo &fedInfo)
 
 CombinationFederate (std::string_view fedName, const std::shared_ptr< Core > &core, const FederateInfo &fedInfo=FederateInfo{})
 
 CombinationFederate (std::string_view fedName, CoreApp &core, const FederateInfo &fedInfo=FederateInfo{})
 
 CombinationFederate (std::string_view fedName, const std::string &configString)
 
 CombinationFederate (const std::string &configString)
 
 CombinationFederate (CombinationFederate &&fed) noexcept
 
virtual ~CombinationFederate ()
 
CombinationFederateoperator= (CombinationFederate &&fed) noexcept
 
 CombinationFederate (const CombinationFederate &fed)=delete
 
CombinationFederateoperator= (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
 
- Public Member Functions inherited from helics::ValueFederate
 ValueFederate (std::string_view fedName, const FederateInfo &fedInfo)
 
 ValueFederate (std::string_view fedName, const std::shared_ptr< Core > &core, const FederateInfo &fedInfo=FederateInfo{})
 
 ValueFederate (std::string_view fedName, CoreApp &core, const FederateInfo &fedInfo=FederateInfo{})
 
 ValueFederate (const std::string &configString)
 
 ValueFederate (std::string_view fedName, const std::string &configString)
 
 ValueFederate ()
 
 ValueFederate (bool res)
 
 ValueFederate (const char *configString)
 
 ValueFederate (const ValueFederate &fed)=delete
 
 ValueFederate (ValueFederate &&fed) noexcept
 
virtual ~ValueFederate ()
 
ValueFederateoperator= (ValueFederate &&fed) noexcept
 
ValueFederateoperator= (const ValueFederate &fed)=delete
 
PublicationregisterPublication (std::string_view name, std::string_view type, std::string_view units=std::string_view{})
 
template<typename X >
PublicationregisterPublication (std::string_view name, std::string_view units=std::string_view{})
 
PublicationregisterGlobalPublication (std::string_view name, std::string_view type, std::string_view units=std::string_view{})
 
template<typename X >
PublicationregisterGlobalPublication (std::string_view name, std::string_view units=std::string_view{})
 
template<typename X >
PublicationregisterIndexedPublication (std::string_view name, int index1, std::string_view units=std::string_view{})
 
template<typename X >
PublicationregisterIndexedPublication (std::string_view name, int index1, int index2, std::string_view units=std::string_view{})
 
InputregisterInput (std::string_view name, std::string_view type, std::string_view units=std::string_view{})
 
InputregisterGlobalInput (std::string_view name, std::string_view type, std::string_view units=std::string_view{})
 
template<typename X >
InputregisterInput (std::string_view name, std::string_view units=std::string_view{})
 
template<typename X >
InputregisterGlobalInput (std::string_view name, std::string_view units=std::string_view{})
 
template<typename X >
InputregisterIndexedInput (std::string_view name, int index1, std::string_view units=std::string_view())
 
template<typename X >
InputregisterIndexedInput (std::string_view name, int index1, int index2, std::string_view units=std::string_view())
 
InputregisterSubscription (std::string_view target, std::string_view units=std::string_view{})
 
InputregisterIndexedSubscription (std::string_view target, int index1, std::string_view units=std::string_view{})
 
InputregisterIndexedSubscription (std::string_view target, int index1, int index2, std::string_view units=std::string_view{})
 
void addAlias (const Input &inp, std::string_view shortcutName)
 
void addAlias (const Publication &pub, std::string_view 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, std::string_view target)
 
void addTarget (const Input &inp, std::string_view target)
 
void removeTarget (const Publication &pub, std::string_view target)
 
void removeTarget (const Input &inp, std::string_view target)
 
template<class iType >
void addIndexedTarget (const iType &iObject, std::string_view target, int index1)
 
template<class iType >
void addIndexedTarget (const iType &iObject, std::string_view 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 InputgetInput (std::string_view name) const
 
InputgetInput (std::string_view name)
 
const InputgetInput (int index) const
 
InputgetInput (int index)
 
const InputgetInput (std::string_view name, int index1) const
 
const InputgetInput (std::string_view name, int index1, int index2) const
 
const InputgetSubscription (std::string_view target) const
 
InputgetSubscription (std::string_view target)
 
const InputgetInputByTarget (std::string_view target) const
 
InputgetInputByTarget (std::string_view target)
 
PublicationgetPublication (std::string_view name)
 
const PublicationgetPublication (std::string_view name) const
 
PublicationgetPublication (int index)
 
const PublicationgetPublication (int index) const
 
const PublicationgetPublication (std::string_view name, int index1) const
 
const PublicationgetPublication (std::string_view 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
 
void addAlias (std::string_view interfaceName, std::string_view alias)
 
- Public Member Functions inherited from helics::Federate
 Federate (std::string_view fedname, const FederateInfo &fedInfo)
 
 Federate (std::string_view fedname, const std::shared_ptr< Core > &core, const FederateInfo &fedInfo=FederateInfo{})
 
 Federate (std::string_view fedname, CoreApp &core, const FederateInfo &fedInfo=FederateInfo{})
 
 Federate (const std::string &configString)
 
 Federate (std::string_view fedname, const std::string &configString)
 
 Federate () noexcept
 
 Federate (Federate &&fed) noexcept
 
 Federate (const Federate &fed)=delete
 
virtual ~Federate ()
 
Federateoperator= (Federate &&fed) noexcept
 
Federateoperator= (const Federate &fed)=delete
 
void enterInitializingMode ()
 
void enterInitializingModeAsync ()
 
bool isAsyncOperationCompleted () const
 
void enterInitializingModeComplete ()
 
void enterInitializingModeIterative ()
 
void enterInitializingModeIterativeAsync ()
 
void enterInitializingModeIterativeComplete ()
 
IterationResult enterExecutingMode (IterationRequest iterate=IterationRequest::NO_ITERATIONS)
 
void enterExecutingModeAsync (IterationRequest iterate=IterationRequest::NO_ITERATIONS)
 
IterationResult enterExecutingModeComplete ()
 
void finalize ()
 
void finalizeAsync ()
 
void finalizeComplete ()
 
void processCommunication (std::chrono::milliseconds period=std::chrono::milliseconds(0))
 
void localError (int errorcode, std::string_view message)
 
void globalError (int errorcode, std::string_view 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 (std::string_view tag, std::string_view value)
 
const std::string & getTag (std::string_view tag) const
 
virtual void setProperty (int32_t option, double timeValue)
 
virtual void setProperty (int32_t option, Time timeValue)
 
virtual void setProperty (int32_t option, int32_t optionValue)
 
virtual Time getTimeProperty (int32_t option) const
 
virtual bool getFlagOption (int flag) const
 
virtual int getIntegerProperty (int32_t option) const
 
void setLoggingCallback (const std::function< void(int, std::string_view, std::string_view)> &logFunction)
 
void setInitializingEntryCallback (std::function< void(bool)> callback)
 
void setExecutingEntryCallback (std::function< void()> callback)
 
void setTimeRequestEntryCallback (std::function< void(Time, Time, bool)> callback)
 
void setTimeUpdateCallback (std::function< void(Time, bool)> callback)
 
void setModeUpdateCallback (std::function< void(Modes, Modes)> callback)
 
void setTimeRequestReturnCallback (std::function< void(Time, bool)> callback)
 
void setCosimulationTerminatedCallback (std::function< void()> callback)
 
void setErrorHandlerCallback (std::function< void(int, std::string_view)> errorHandlerCallback)
 
std::string query (std::string_view target, std::string_view queryStr, HelicsSequencingModes mode=HELICS_SEQUENCING_MODE_FAST)
 
std::string query (std::string_view queryStr, HelicsSequencingModes mode=HELICS_SEQUENCING_MODE_FAST)
 
QueryId queryAsync (std::string_view target, std::string_view queryStr, HelicsSequencingModes mode=HELICS_SEQUENCING_MODE_FAST)
 
QueryId queryAsync (std::string_view 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 (std::string_view valueName, std::string_view value)
 
void addAlias (std::string_view interfaceName, std::string_view alias)
 
void sendCommand (std::string_view target, std::string_view commandStr, HelicsSequencingModes mode=HelicsSequencingModes::HELICS_SEQUENCING_MODE_FAST)
 
std::pair< std::string, std::string > getCommand ()
 
std::pair< std::string, std::string > waitCommand ()
 
void addDependency (std::string_view fedName)
 
FilterregisterGlobalFilter (std::string_view filterName, std::string_view inputType=std::string_view{}, std::string_view outputType=std::string_view{})
 
CloningFilterregisterGlobalCloningFilter (std::string_view filterName, std::string_view inputType=std::string_view{}, std::string_view outputType=std::string_view{})
 
FilterregisterFilter (std::string_view filterName, std::string_view inputType=std::string_view{}, std::string_view outputType=std::string_view{})
 
CloningFilterregisterCloningFilter (std::string_view filterName, std::string_view inputType=std::string_view{}, std::string_view outputType=std::string_view{})
 
FilterregisterFilter ()
 
TranslatorregisterGlobalTranslator (std::int32_t translatorType, std::string_view translatorName, std::string_view endpointType=std::string_view{}, std::string_view units=std::string_view{})
 
TranslatorregisterTranslator (std::int32_t translatorType, std::string_view translatorName, std::string_view endpointType=std::string_view{}, std::string_view units=std::string_view{})
 
TranslatorregisterGlobalTranslator (std::string_view translatorName, std::string_view endpointType=std::string_view{}, std::string_view units=std::string_view{})
 
TranslatorregisterTranslator (std::string_view translatorName, std::string_view endpointType=std::string_view{}, std::string_view units=std::string_view{})
 
TranslatorregisterTranslator ()
 
CloningFilterregisterCloningFilter ()
 
const FiltergetFilter (std::string_view filterName) const
 
const FiltergetFilter (int index) const
 
FiltergetFilter (std::string_view filterName)
 
FiltergetFilter (int index)
 
void setFilterOperator (const Filter &filt, std::shared_ptr< FilterOperator > filtOp)
 register a operator for the specified filter More...
 
int getFilterCount () const
 
const TranslatorgetTranslator (std::string_view translatorName) const
 
const TranslatorgetTranslator (int index) const
 
TranslatorgetTranslator (std::string_view translatorName)
 
TranslatorgetTranslator (int index)
 
void setTranslatorOperator (const Translator &trans, std::shared_ptr< TranslatorOperator > transOp)
 register an operator for the specified translator More...
 
int getTranslatorCount () const
 
const std::string & getConfigFile () const
 
void registerConnectorInterfaces (const std::string &configString)
 
void registerFilterInterfaces (const std::string &configString)
 
auto getID () const noexcept
 
Modes getCurrentMode () const noexcept
 
Time getCurrentTime () const noexcept
 
const std::string & getName () const
 
const std::shared_ptr< Core > & getCorePointer ()
 
void logMessage (int level, std::string_view message) const
 
void logErrorMessage (std::string_view message) const
 
void logWarningMessage (std::string_view message) const
 
void logInfoMessage (std::string_view message) const
 
void logDebugMessage (std::string_view message) const
 
void completeOperation ()
 
- Public Member Functions inherited from helics::MessageFederate
 MessageFederate (std::string_view fedName, const FederateInfo &fedInfo)
 
 MessageFederate (std::string_view fedName, const std::shared_ptr< Core > &core, const FederateInfo &fedInfo=FederateInfo{})
 
 MessageFederate (std::string_view fedName, CoreApp &core, const FederateInfo &fedInfo=FederateInfo{})
 
 MessageFederate (std::string_view 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 ()
 
MessageFederateoperator= (MessageFederate &&mFed) noexcept
 
MessageFederateoperator= (const MessageFederate &mFed)=delete
 
EndpointregisterEndpoint (std::string_view eptName=std::string_view(), std::string_view type=std::string_view())
 
EndpointregisterTargetedEndpoint (std::string_view eptName=std::string_view(), std::string_view type=std::string_view())
 
EndpointregisterGlobalEndpoint (std::string_view eptName, std::string_view type=std::string_view())
 
EndpointregisterGlobalTargetedEndpoint (std::string_view eptName, std::string_view type=std::string_view())
 
EndpointregisterIndexedEndpoint (std::string_view eptName, int index1, std::string_view type=std::string_view())
 
EndpointregisterDataSink (std::string_view sinkName=std::string_view())
 
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< MessagegetMessage (const Endpoint &ept)
 
std::unique_ptr< MessagegetMessage ()
 
EndpointgetEndpoint (std::string_view name) const
 
EndpointgetEndpoint (int index) const
 
EndpointgetDataSink (std::string_view name) 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
 

Additional Inherited Members

- Public Types inherited from helics::Federate
enum class  Modes : char {
  STARTUP = 0 , INITIALIZING = 1 , EXECUTING = 2 , FINALIZE = 3 ,
  ERROR_STATE = 4 , PENDING_INIT = 5 , PENDING_EXEC = 6 , PENDING_TIME = 7 ,
  PENDING_ITERATIVE_TIME = 8 , PENDING_FINALIZE = 9 , FINISHED = 10 , PENDING_ITERATIVE_INIT = 12
}
 
- Protected Member Functions inherited from helics::CombinationFederate
virtual void updateTime (Time newTime, Time oldTime) override
 
virtual void startupToInitializeStateTransition () override
 
virtual void initializeToExecuteStateTransition (iteration_time result) override
 
virtual std::string localQuery (std::string_view queryStr) const override
 
- Protected Member Functions inherited from helics::Federate
void enteringInitializingMode (IterationResult iterating)
 
void enteringExecutingMode (iteration_time res)
 
void finalizeOperations ()
 
void preTimeRequestOperations (Time nextStep, bool iterating)
 
void postTimeRequestOperations (Time newTime, bool iterating)
 
virtual void disconnectTransition ()
 
std::string localNameGenerator (std::string_view addition) const
 
void handleError (int errorCode, std::string_view errorString, bool noThrow)
 
void setAsyncCheck (std::function< bool()> asyncCheck)
 
- Protected Attributes inherited from helics::Federate
std::atomic< ModescurrentMode {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}
 
bool retriggerTimeRequest {false}
 
bool singleThreadFederate {false}
 
bool hasPotentialInterfaces {false}
 
std::shared_ptr< CorecoreObject
 reference to the core simulation API
 
Time mCurrentTime = Time::minVal()
 the current simulation time
 
Time mStopTime = Time::maxVal()
 the stopping time for the federate
 
std::string configFile
 any config file used
 

Detailed Description

class defining a federate that can use both the value and message interfaces

Constructor & Destructor Documentation

◆ CallbackFederate() [1/8]

helics::CallbackFederate::CallbackFederate ( )

default constructor

◆ CallbackFederate() [2/8]

helics::CallbackFederate::CallbackFederate ( std::string_view  fedName,
const FederateInfo fedInfo 
)
explicit

constructor taking a federate information structure and using the default core

Parameters
fedNamethe name of the federate, may be left empty to use a default or one found in fi
fia federate information structure

◆ CallbackFederate() [3/8]

helics::CallbackFederate::CallbackFederate ( std::string_view  fedName,
const std::shared_ptr< Core > &  core,
const FederateInfo fedInfo = FederateInfo{} 
)

constructor taking a federate information structure and using the given core

Parameters
fedNamethe name of the federate, may be left empty to use a default or one found in fi
corea pointer to core object which the federate can join
fia federate information structure

◆ CallbackFederate() [4/8]

helics::CallbackFederate::CallbackFederate ( std::string_view  fedName,
CoreApp core,
const FederateInfo fedInfo = FederateInfo{} 
)

constructor taking a federate information structure and using the given CoreApp

Parameters
fedNamethe name of the federate, may be left empty to use a default or one found in fi
corea CoreApp object representing the core to connect to
fia federate information structure

◆ CallbackFederate() [5/8]

helics::CallbackFederate::CallbackFederate ( std::string_view  fedName,
const std::string &  configString 
)

constructor taking a federate name and a file with the required information

Parameters
fedNamethe name of the federate, can be empty to use the name from the configString
configStringcan be either a JSON file a TOML file (with extension TOML) or a string containing JSON code or a string with command line arguments

◆ CallbackFederate() [6/8]

helics::CallbackFederate::CallbackFederate ( const std::string &  configString)
explicit

constructor taking a file with the required information

Parameters
configStringcan be either a JSON file a TOML file (with extension TOML) or a string containing JSON code or a string with command line arguments

◆ CallbackFederate() [7/8]

helics::CallbackFederate::CallbackFederate ( CallbackFederate &&  fed)
defaultnoexcept

move construction

◆ ~CallbackFederate()

helics::CallbackFederate::~CallbackFederate ( )
virtualdefault

destructor

◆ CallbackFederate() [8/8]

helics::CallbackFederate::CallbackFederate ( const CallbackFederate fed)
delete

delete the copy constructor

Member Function Documentation

◆ operator=() [1/2]

CallbackFederate & helics::CallbackFederate::operator= ( CallbackFederate &&  fed)
defaultnoexcept

move assignment

◆ operator=() [2/2]

CallbackFederate& helics::CallbackFederate::operator= ( const CallbackFederate fed)
delete

copy assignment deleted


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