helics
3.5.2
|
Public Member Functions | |
FilterFederate (GlobalFederateId fedID, std::string name, GlobalBrokerId coreID, Core *core) | |
~FilterFederate () | |
void | processMessageFilter (ActionMessage &cmd) |
void | processFilterReturn (ActionMessage &cmd) |
void | processDestFilterReturn (ActionMessage &command) |
FilterInfo * | createFilter (GlobalBrokerId dest, InterfaceHandle handle, std::string_view key, std::string_view type_in, std::string_view type_out, bool cloning) |
void | setCallbacks (std::function< void(const ActionMessage &)> queueMessage, std::function< void(ActionMessage &&)> queueMessageMove, std::function< void(const ActionMessage &)> sendMessage, std::function< void(ActionMessage &&)> sendMessageMove) |
void | setLogger (std::function< void(int, std::string_view, std::string_view)> logger) |
void | setDeliver (std::function< void(ActionMessage &)> deliverMessage) |
void | setAirLockFunction (std::function< gmlc::containers::AirLock< std::any > &(int)> getAirLock) |
void | organizeFilterOperations () |
void | handleMessage (ActionMessage &command) |
void | processFilterInfo (ActionMessage &command) |
ActionMessage & | processMessage (ActionMessage &command, const BasicHandleInfo *handle) |
bool | destinationProcessMessage (ActionMessage &command, const BasicHandleInfo *handle) |
void | addFilteredEndpoint (Json::Value &block, GlobalFederateId fed) const |
void | setHandleManager (HandleManager *handles) |
std::string | query (std::string_view queryStr) const |
bool | hasActiveTimeDependencies () const |
void | useGlobalTimeCoordinator (bool value) |
helics::FilterFederate::~FilterFederate | ( | ) |
map of all local filters
sets of ongoing filtered messages
sets of ongoing destination filter processing
FilterInfo * helics::FilterFederate::createFilter | ( | GlobalBrokerId | dest, |
InterfaceHandle | handle, | ||
std::string_view | key, | ||
std::string_view | type_in, | ||
std::string_view | type_out, | ||
bool | cloning | ||
) |
create a filter
References helics::FilterInfo::cloning, helics::FilterInfo::core_id, and helics::parent_broker_id.
bool helics::FilterFederate::destinationProcessMessage | ( | ActionMessage & | command, |
const BasicHandleInfo * | handle | ||
) |
process destination filters on the message and return true if the original command should be delivered to a federate
References helics::ActionMessage::actionTime, helics::checkActionFlag(), helics::createMessageFromCommand(), helics::ActionMessage::dest_handle, helics::ActionMessage::dest_id, helics::disconnected_flag, helics::BasicHandleInfo::getFederateId(), helics::BasicHandleInfo::getInterfaceHandle(), helics::ActionMessage::sequenceID, helics::ActionMessage::setAction(), helics::ActionMessage::source_handle, and helics::ActionMessage::source_id.
bool helics::FilterFederate::hasActiveTimeDependencies | ( | ) | const |
check if the filter federate has active time dependencies other than parent
void helics::FilterFederate::processDestFilterReturn | ( | ActionMessage & | command | ) |
process a destination filter message return
References helics::ActionMessage::action(), helics::ActionMessage::dest_handle, helics::ActionMessage::sequenceID, and helics::ActionMessage::setAction().
void helics::FilterFederate::processFilterReturn | ( | ActionMessage & | cmd | ) |
process a filter message return
References helics::ActionMessage::action(), helics::ActionMessage::actionTime, helics::checkActionFlag(), helics::ActionMessage::counter, helics::ActionMessage::dest_handle, helics::disconnected_flag, helics::ActionMessage::sequenceID, helics::ActionMessage::setAction(), and helics::ActionMessage::setSource().
void helics::FilterFederate::processMessageFilter | ( | ActionMessage & | cmd | ) |
process any filter or route the message
References helics::ActionMessage::action(), helics::checkActionFlag(), helics::ActionMessage::counter, helics::createMessageFromCommand(), helics::ActionMessage::dest_handle, helics::ActionMessage::dest_id, helics::disconnected_flag, helics::ActionMessage::getDest(), helics::ActionMessage::getSource(), helics::parent_broker_id, helics::ActionMessage::sequenceID, helics::ActionMessage::setAction(), helics::ActionMessage::setDestination(), helics::ActionMessage::setSource(), helics::ActionMessage::source_handle, and helics::ActionMessage::source_id.