| helics 3.6.1

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

## 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 (nlohmann::json &block, GlobalFederateId fed) const
void | setHandleManager (HandleManager *handles)
std::string | query (std::string_view queryStr) const
bool | hasActiveTimeDependencies () const
void | useGlobalTimeCoordinator (bool value)

## Constructor & Destructor Documentation

## ◆ ~FilterFederate()

helics::FilterFederate::~FilterFederate | ( |  | ) |

map of all local filters

sets of ongoing filtered messages

sets of ongoing destination filter processing

## Member Function Documentation

## ◆ createFilter()

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.

## ◆ destinationProcessMessage()

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.

## ◆ hasActiveTimeDependencies()

bool helics::FilterFederate::hasActiveTimeDependencies | ( |  | ) | const

check if the filter federate has active time dependencies other than parent

## ◆ processDestFilterReturn()

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().

## ◆ processFilterReturn()

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().

## ◆ processMessageFilter()

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.

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

- FilterFederate.hpp
- FilterFederate.cpp