 |
helics
3.0.1
|
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/DualMappedVector.hpp"
15 #include "gmlc/containers/SimpleQueue.hpp"
23 #include <unordered_map>
24 #include <unordered_set>
29 class MessageFederate;
72 std::unique_ptr<Message> getMessage();
84 std::string
localQuery(
const std::string& queryStr)
const;
116 gmlc::containers::SimpleQueue<std::unique_ptr<Message>> messages;
117 atomic_guarded<std::function<void(
Endpoint&,
Time)>> callback;
121 DualMappedVector<Endpoint, std::string, InterfaceHandle, reference_stability::stable>>
123 atomic_guarded<std::function<void(
Endpoint&,
Time)>> allCallback;
124 Time CurrentTime = Time::minVal();
130 guarded<std::vector<unsigned int>>
133 void removeOrderedMessage(
unsigned int index);
constexpr Time timeZero
Definition: helicsTime.hpp:31
Common functions for the HELICS C api.
Endpoint & registerTargetedEndpoint(const std::string &name, const std::string &type)
Definition: MessageFederateManager.cpp:62
virtual uint64_t receiveCountAny(LocalFederateId federateID)=0
constexpr Time initializationTime
Definition: helicsTime.hpp:38
Endpoint & getEndpoint(const std::string &name)
Definition: MessageFederateManager.cpp:233
Endpoint & registerEndpoint(const std::string &name, const std::string &type)
Definition: MessageFederateManager.cpp:32
void startupToInitializeStateTransition()
Definition: MessageFederateManager.cpp:210
MessageFederateManager(Core *coreOb, MessageFederate *mFed, LocalFederateId id)
Definition: MessageFederateManager.cpp:17
Definition: LocalFederateId.hpp:65
TimeRepresentation< count_time< 9 > > Time
Definition: helicsTime.hpp:27
std::string localQuery(const std::string &queryStr) const
Definition: MessageFederateManager.cpp:218
Definition: Endpoints.hpp:21
uint64_t pendingMessageCount() const
Definition: MessageFederateManager.cpp:128
int getEndpointCount() const
Definition: MessageFederateManager.cpp:263
Definition: application_api/MessageFederate.hpp:22
Definition: core/Core.hpp:42
Definition: core-exceptions.hpp:84
virtual InterfaceHandle registerEndpoint(LocalFederateId federateID, const std::string &name, const std::string &type)=0
Functions related to message federates for the C api.
virtual std::unique_ptr< Message > receiveAny(LocalFederateId federateID, InterfaceHandle &endpoint_id)=0
IterationResult
Definition: CoreTypes.hpp:80
static std::unique_ptr< Message > getMessage(const Endpoint &ept)
Definition: MessageFederateManager.cpp:138
virtual InterfaceHandle registerTargetedEndpoint(LocalFederateId federateID, const std::string &name, const std::string &type)=0
void initializeToExecuteStateTransition(IterationResult result)
Definition: MessageFederateManager.cpp:212
the main namespace for the helics co-simulation library User functions will be in the helics namespac...
Definition: AsyncFedCallInfo.hpp:14
void setEndpointNotificationCallback(const std::function< void(Endpoint &, Time)> &callback)
Definition: MessageFederateManager.cpp:268
void updateTime(Time newTime, Time oldTime)
Definition: MessageFederateManager.cpp:165
Definition: LocalFederateId.hpp:22
Definition: application_api/Federate.hpp:28
void disconnect()
Definition: MessageFederateManager.cpp:26
bool hasMessage() const
Definition: MessageFederateManager.cpp:92
Definition: MessageFederateManager.hpp:34
bool isValidIndex(sizeType testSize, const SizedDataType &vec)
Definition: core-data.hpp:132