9 #include "../common/GuardedTypes.hpp"
10 #include "../core/Core.hpp"
11 #include "../core/FederateIdExtra.hpp"
12 #include "Endpoints.hpp"
13 #include "data_view.hpp"
14 #include "gmlc/containers/DualStringMappedVector.hpp"
15 #include "gmlc/containers/SimpleQueue.hpp"
23 #include <unordered_map>
24 #include <unordered_set>
29 class MessageFederate;
78 std::unique_ptr<Message> getMessage();
90 std::string
localQuery(std::string_view queryStr)
const;
129 gmlc::containers::SimpleQueue<std::unique_ptr<Message>> messages;
133 shared_guarded_opt<gmlc::containers::DualStringMappedVector<Endpoint, InterfaceHandle>>
135 atomic_guarded<std::function<void(
Endpoint&,
Time)>> allCallback;
136 Time CurrentTime = Time::minVal();
141 shared_guarded_opt<std::deque<EndpointData>> eptData;
143 guarded_opt<std::vector<unsigned int>> messageOrder;
146 void removeOrderedMessage(
unsigned int index);
Definition: core/Core.hpp:41
Definition: Endpoints.hpp:21
Definition: LocalFederateId.hpp:22
Definition: MessageFederateManager.hpp:34
int getEndpointCount() const
Definition: MessageFederateManager.cpp:292
static std::unique_ptr< Message > getMessage(const Endpoint &ept)
Definition: MessageFederateManager.cpp:149
Endpoint & registerTargetedEndpoint(std::string_view name, std::string_view type)
Definition: MessageFederateManager.cpp:81
Endpoint & getDataSink(std::string_view name)
Definition: MessageFederateManager.cpp:250
Endpoint & registerDataSink(std::string_view name)
Definition: MessageFederateManager.cpp:58
void startupToInitializeStateTransition()
Definition: MessageFederateManager.cpp:215
void updateTime(Time newTime, Time oldTime)
Definition: MessageFederateManager.cpp:176
Endpoint & getEndpoint(std::string_view name)
Definition: MessageFederateManager.cpp:237
void setEndpointNotificationCallback(const std::function< void(Endpoint &, Time)> &callback)
Definition: MessageFederateManager.cpp:297
void initializeToExecuteStateTransition(iteration_time result)
Definition: MessageFederateManager.cpp:217
void disconnect()
Definition: MessageFederateManager.cpp:30
MessageFederateManager(Core *coreOb, MessageFederate *mFed, LocalFederateId id, bool singleThreaded)
Definition: MessageFederateManager.cpp:18
Endpoint & registerEndpoint(std::string_view name, std::string_view type)
Definition: MessageFederateManager.cpp:36
bool hasMessage() const
Definition: MessageFederateManager.cpp:103
std::string localQuery(std::string_view queryStr) const
Definition: MessageFederateManager.cpp:222
uint64_t pendingMessageCount() const
Definition: MessageFederateManager.cpp:139
Definition: application_api/MessageFederate.hpp:24
the main namespace for the helics co-simulation library User functions will be in the helics namespac...
Definition: AsyncFedCallInfo.hpp:14
TimeRepresentation< count_time< 9 > > Time
Definition: helicsTime.hpp:27
Definition: helicsTime.hpp:43