37 const std::string mName;
43 std::map<InterfaceHandle, std::unique_ptr<FilterCoordinator>> filterCoord;
53 std::function<void(
int, std::string_view, std::string_view)> mLogger;
54 std::function<gmlc::containers::AirLock<std::any>&(int)> mGetAirLock;
55 std::deque<std::pair<int32_t, Time>> timeBlockProcesses;
56 Time minReturnTime{Time::maxVal()};
58 std::map<int32_t, std::set<int32_t>> ongoingFilterProcesses;
60 std::map<int32_t, std::set<int32_t>> ongoingDestFilterProcesses;
63 std::atomic<int32_t> messageCounter{54};
65 bool usingGlobalTime{
false};
67 gmlc::containers::MappedPointerVector<FilterInfo, GlobalHandle> filters;
83 std::string_view type_in,
84 std::string_view type_out,
87 void setCallbacks(std::function<
void(
const ActionMessage&)> queueMessage,
92 mQueueMessage = std::move(queueMessage);
93 mQueueMessageMove = std::move(queueMessageMove);
94 mSendMessage = std::move(sendMessage);
95 mSendMessageMove = std::move(sendMessageMove);
98 void setLogger(std::function<
void(
int, std::string_view, std::string_view)> logger)
100 mLogger = std::move(logger);
103 void setDeliver(std::function<
void(
ActionMessage&)> deliverMessage)
105 mDeliverMessage = std::move(deliverMessage);
108 void setAirLockFunction(std::function<gmlc::containers::AirLock<std::any>&(
int)> getAirLock)
110 mGetAirLock = std::move(getAirLock);
112 void organizeFilterOperations();
123 void addFilteredEndpoint(nlohmann::json& block,
GlobalFederateId fed)
const;
125 void setHandleManager(
HandleManager* handles) { mHandles = handles; }
127 std::string query(std::string_view queryStr)
const;
131 void useGlobalTimeCoordinator(
bool value)
133 usingGlobalTime = value;
149 void addTimeReturn(int32_t
id,
Time TimeVal);
150 void clearTimeReturn(int32_t
id);
FilterInfo * createFilter(GlobalBrokerId dest, InterfaceHandle handle, std::string_view key, std::string_view type_in, std::string_view type_out, bool cloning)
Definition FilterFederate.cpp:695