helics  2.8.1
CommonCore.hpp
1 /*
2 Copyright (c) 2017-2021,
3 Battelle Memorial Institute; Lawrence Livermore National Security, LLC; Alliance for Sustainable
4 Energy, LLC. See the top-level NOTICE for additional details. All rights reserved.
5 SPDX-License-Identifier: BSD-3-Clause
6 */
7 #pragma once
8 
9 #include "../common/GuardedTypes.hpp"
10 #include "../common/JsonBuilder.hpp"
11 #include "ActionMessage.hpp"
12 #include "BrokerBase.hpp"
13 #include "Core.hpp"
14 #include "HandleManager.hpp"
15 #include "gmlc/concurrency/DelayedObjects.hpp"
16 #include "gmlc/concurrency/TriggerVariable.hpp"
17 #include "gmlc/containers/AirLock.hpp"
18 #include "gmlc/containers/DualMappedPointerVector.hpp"
19 #include "gmlc/containers/DualMappedVector.hpp"
20 #include "gmlc/containers/MappedPointerVector.hpp"
21 #include "gmlc/containers/SimpleQueue.hpp"
22 #include "helics-time.hpp"
23 #include "helics/external/any.hpp"
24 #include "helics/helics-config.h"
25 
26 #include "json/forwards.h"
27 #include <array>
28 #include <atomic>
29 #include <chrono>
30 #include <deque>
31 #include <map>
32 #include <memory>
33 #include <set>
34 #include <string>
35 #include <tuple>
36 #include <unordered_map>
37 #include <utility>
38 #include <vector>
39 
40 namespace helics {
41 class TestHandle;
42 class FederateState;
43 
44 class BasicHandleInfo;
45 class FilterCoordinator;
46 class FilterInfo;
47 class FilterFederate;
48 class TimeoutMonitor;
49 enum class handle_type : char;
51 enum class operation_state : std::uint8_t { operating = 0, error = 5, disconnected = 10 };
52 
54 const std::string& state_string(operation_state state);
55 
57 class FedInfo {
58  public:
59  FederateState* fed = nullptr;
60  operation_state state{operation_state::operating};
61 
62  constexpr FedInfo() = default;
63  constexpr explicit FedInfo(FederateState* newfed) noexcept: fed(newfed) {}
64  FederateState* operator->() noexcept { return fed; }
65  const FederateState* operator->() const noexcept { return fed; }
66  operator bool() const noexcept { return (fed != nullptr); }
67 };
68 
73 class CommonCore: public Core, public BrokerBase {
74  public:
76  CommonCore() noexcept;
79  explicit CommonCore(bool arg) noexcept;
81  explicit CommonCore(const std::string& coreName);
83  virtual ~CommonCore() override;
84  virtual void configure(const std::string& configureString) override final;
85  virtual void configureFromArgs(int argc, char* argv[]) override final;
86  virtual void configureFromVector(std::vector<std::string> args) override final;
87  virtual bool isConfigured() const override final;
88  virtual bool isOpenToNewFederates() const override final;
89  virtual bool hasError() const override final;
90  virtual void globalError(local_federate_id federateID,
91  int errorCode,
92  const std::string& errorString) override final;
93  virtual void localError(local_federate_id federateID,
94  int errorCode,
95  const std::string& errorString) override final;
96  virtual int getErrorCode() const override final;
97  virtual std::string getErrorMessage() const override final;
98  virtual void finalize(local_federate_id federateID) override final;
99  virtual void enterInitializingMode(local_federate_id federateID) override final;
100  virtual void setCoreReadyToInit() override final;
101  virtual iteration_result
103  iteration_request iterate = NO_ITERATION) override final;
104  virtual local_federate_id registerFederate(const std::string& name,
105  const CoreFederateInfo& info) override final;
106  virtual const std::string& getFederateName(local_federate_id federateID) const override final;
107  virtual local_federate_id getFederateId(const std::string& name) const override final;
108  virtual int32_t getFederationSize() override final;
109  virtual Time timeRequest(local_federate_id federateID, Time next) override final;
111  Time next,
112  iteration_request iterate) override final;
113  virtual Time getCurrentTime(local_federate_id federateID) const override final;
114  virtual uint64_t getCurrentReiteration(local_federate_id federateID) const override final;
115  virtual void
116  setTimeProperty(local_federate_id federateID, int32_t property, Time time) override final;
117  virtual void setIntegerProperty(local_federate_id federateID,
118  int32_t property,
119  int16_t propertyValue) override final;
120  virtual Time getTimeProperty(local_federate_id federateID,
121  int32_t property) const override final;
122  virtual int16_t getIntegerProperty(local_federate_id federateID,
123  int32_t property) const override final;
124  virtual void setFlagOption(local_federate_id federateID,
125  int32_t flag,
126  bool flagValue = true) override final;
127  virtual bool getFlagOption(local_federate_id federateID, int32_t flag) const override final;
128 
130  const std::string& key,
131  const std::string& type,
132  const std::string& units) override final;
134  const std::string& key) const override final;
136  const std::string& key,
137  const std::string& type,
138  const std::string& units) override final;
139 
140  virtual interface_handle getInput(local_federate_id federateID,
141  const std::string& key) const override final;
142 
143  virtual const std::string& getHandleName(interface_handle handle) const override final;
144 
145  virtual void setHandleOption(interface_handle handle,
146  int32_t option,
147  int32_t option_value) override final;
148 
149  virtual int32_t getHandleOption(interface_handle handle, int32_t option) const override final;
150  virtual void closeHandle(interface_handle handle) override final;
151  virtual void removeTarget(interface_handle handle,
152  const std::string& targetToRemove) override final;
153  virtual void addDestinationTarget(interface_handle handle,
154  const std::string& dest) override final;
155  virtual void addSourceTarget(interface_handle handle, const std::string& name) override final;
156  virtual const std::string& getInjectionUnits(interface_handle handle) const override final;
157  virtual const std::string& getExtractionUnits(interface_handle handle) const override final;
158  virtual const std::string& getInjectionType(interface_handle handle) const override final;
159  virtual const std::string& getExtractionType(interface_handle handle) const override final;
160  virtual void setValue(interface_handle handle, const char* data, uint64_t len) override final;
161  virtual const std::shared_ptr<const data_block>& getValue(interface_handle handle,
162  uint32_t* inputIndex) override final;
163  virtual const std::vector<std::shared_ptr<const data_block>>&
164  getAllValues(interface_handle handle) override final;
165  virtual const std::vector<interface_handle>&
166  getValueUpdates(local_federate_id federateID) override final;
168  const std::string& name,
169  const std::string& type) override final;
171  const std::string& name) const override final;
172  virtual interface_handle registerFilter(const std::string& filterName,
173  const std::string& type_in,
174  const std::string& type_out) override final;
175  virtual interface_handle registerCloningFilter(const std::string& filterName,
176  const std::string& type_in,
177  const std::string& type_out) override final;
178  virtual interface_handle getFilter(const std::string& name) const override final;
179  virtual void addDependency(local_federate_id federateID,
180  const std::string& federateName) override final;
181  virtual void registerFrequentCommunicationsPair(const std::string& source,
182  const std::string& dest) override final;
183  virtual void makeConnections(const std::string& file) override final;
184  virtual void dataLink(const std::string& source, const std::string& target) override final;
185  virtual void addSourceFilterToEndpoint(const std::string& filter,
186  const std::string& endpoint) override final;
187  virtual void addDestinationFilterToEndpoint(const std::string& filter,
188  const std::string& endpoint) override final;
189  virtual void send(interface_handle sourceHandle,
190  const std::string& destination,
191  const char* data,
192  uint64_t length) override final;
193  virtual void sendEvent(Time time,
194  interface_handle sourceHandle,
195  const std::string& destination,
196  const char* data,
197  uint64_t length) override final;
198  virtual void sendMessage(interface_handle sourceHandle,
199  std::unique_ptr<Message> message) override final;
200  virtual uint64_t receiveCount(interface_handle destination) override final;
201  virtual std::unique_ptr<Message> receive(interface_handle destination) override final;
202  virtual std::unique_ptr<Message> receiveAny(local_federate_id federateID,
203  interface_handle& endpoint_id) override final;
204  virtual uint64_t receiveCountAny(local_federate_id federateID) override final;
205  virtual void logMessage(local_federate_id federateID,
206  int logLevel,
207  const std::string& messageToLog) override final;
208  virtual void setFilterOperator(interface_handle filter,
209  std::shared_ptr<FilterOperator> callback) override final;
210 
212  void setIdentifier(const std::string& name);
214  virtual const std::string& getIdentifier() const override final { return identifier; }
215  virtual const std::string& getAddress() const override final;
216  const std::string& getFederateNameNoThrow(global_federate_id federateID) const noexcept;
217 
219  virtual void setLoggingLevel(int logLevel) override;
220  virtual void setLoggingCallback(local_federate_id federateID,
221  std::function<void(int, const std::string&, const std::string&)>
222  logFunction) override final;
223 
224  virtual void setLogFile(const std::string& lfile) override final;
225 
226  virtual std::string query(const std::string& target,
227  const std::string& queryStr,
228  helics_sequencing_mode mode) override;
229  virtual void
231  std::function<std::string(const std::string&)> queryFunction) override;
232  virtual void setGlobal(const std::string& valueName, const std::string& value) override;
233  virtual bool connect() override final;
234  virtual bool isConnected() const override final;
235  virtual void disconnect() override final;
236  virtual bool waitForDisconnect(
237  std::chrono::milliseconds msToWait = std::chrono::milliseconds(0)) const override final;
239  void unregister();
242  virtual void processDisconnect(bool skipUnregister = false) override final;
243 
247 
248  virtual void setInterfaceInfo(interface_handle handle, std::string info) override final;
249  virtual const std::string& getInterfaceInfo(interface_handle handle) const override final;
250 
251  private:
254  virtual bool brokerConnect() = 0;
257  virtual void brokerDisconnect() = 0;
258 
259  protected:
260  virtual void processCommand(ActionMessage&& command) override final;
261 
262  virtual void processPriorityCommand(ActionMessage&& command) override final;
263 
267  virtual void transmit(route_id rid, const ActionMessage& command) = 0;
271  virtual void transmit(route_id rid, ActionMessage&& command) = 0;
278  virtual void addRoute(route_id rid, int interfaceId, const std::string& routeInfo) = 0;
282  virtual void removeRoute(route_id rid) = 0;
284  FederateState* getFederateAt(local_federate_id federateID) const;
286  FederateState* getFederate(const std::string& federateName) const;
291  const BasicHandleInfo* getHandleInfo(interface_handle handle) const;
293  const BasicHandleInfo* getLocalEndpoint(const std::string& name) const;
294 
296  bool allInitReady() const;
298  bool allDisconnected() const;
301 
302  private:
304  FederateState* getFederateCore(global_federate_id federateID);
306  FederateState* getFederateCore(const std::string& federateName);
310  FederateState* getHandleFederateCore(interface_handle handle);
311 
312  private:
313  std::string prevIdentifier;
314  std::map<global_federate_id, route_id>
315  routing_table;
316  gmlc::containers::SimpleQueue<ActionMessage>
317  delayTransmitQueue;
318  std::unordered_map<std::string, route_id>
320  knownExternalEndpoints;
321 
323  std::unique_ptr<TimeoutMonitor>
324  timeoutMon;
325 
326  void transmitDelayedMessages();
328  void errorRespondDelayedMessages(const std::string& estring);
332  void transmitDelayedMessages(global_federate_id source);
333 
335  void routeMessage(ActionMessage& cmd, global_federate_id dest);
338  void routeMessage(const ActionMessage& cmd);
339 
341  void routeMessage(ActionMessage&& cmd, global_federate_id dest);
344  void routeMessage(ActionMessage&& cmd);
345 
347  void checkDependencies();
349  void processQueryResponse(const ActionMessage& m);
351  void checkQueryTimeouts();
353  void processCommandsForCore(const ActionMessage& cmd);
355  void processCoreConfigureCommands(ActionMessage& cmd);
357  void processQueryCommand(ActionMessage& cmd);
360  bool checkForLocalPublication(ActionMessage& cmd);
362  uint16_t getNextAirlockIndex();
364  void loadBasicJsonInfo(
365  Json::Value& base,
366  const std::function<void(Json::Value& fedval, const FedInfo& fed)>& fedLoader) const;
373  void initializeMapBuilder(const std::string& request,
374  std::uint16_t index,
375  bool reset,
376  bool force_ordering) const;
378  std::string coreQuery(const std::string& queryStr, bool force_ordering) const;
379 
382  std::string quickCoreQueries(const std::string& queryStr) const;
383 
385  std::string filteredEndpointQuery(const FederateState* fed) const;
386 
387  private:
388  int32_t _global_federation_size = 0;
389  std::atomic<int16_t> delayInitCounter{0};
390  bool filterTiming{false};
393  federates;
394  gmlc::containers::DualMappedVector<FedInfo, std::string, global_federate_id>
395  loopFederates;
396 
399  std::atomic<int32_t> messageCounter{54};
400  ordered_guarded<HandleManager> handles;
401  HandleManager loopHandles;
402  std::vector<std::pair<global_federate_id, int32_t>> timeBlocks;
405 
406  std::map<int32_t, std::vector<ActionMessage>>
407  delayedTimingMessages;
408 
410  std::atomic<int> queryCounter{1};
412  gmlc::concurrency::DelayedObjects<std::string> activeQueries;
414  std::deque<std::pair<int32_t, decltype(std::chrono::steady_clock::now())>> queryTimeouts;
416  mutable std::vector<std::tuple<JsonMapBuilder, std::vector<ActionMessage>, bool>> mapBuilders;
417 
418  FilterFederate* filterFed{nullptr};
419  std::atomic<std::thread::id> filterThread{std::thread::id{}};
420  std::atomic<global_federate_id> filterFedID;
421  std::atomic<uint16_t> nextAirLock{0};
422  std::array<gmlc::containers::AirLock<stx::any>, 4>
423  dataAirlocks;
424  gmlc::concurrency::TriggerVariable disconnection;
425  private:
426  // generate a filter Federate
427  void generateFilterFederate();
428  // generate a timing connection between the core and filter Federate
429  void connectFilterTiming();
431  bool hasTimeBlock(global_federate_id fedID);
433  bool waitCoreRegistration();
435  void deliverMessage(ActionMessage& message);
437  ActionMessage& processMessage(ActionMessage& message);
441  const BasicHandleInfo& createBasicHandle(global_federate_id global_federateId,
442  local_federate_id local_federateId,
443  handle_type HandleType,
444  const std::string& key,
445  const std::string& type,
446  const std::string& units,
447  uint16_t flags = 0);
448 
452  bool isLocal(global_federate_id global_fedid) const;
456  route_id getRoute(global_federate_id global_fedid) const;
458  void checkForNamedInterface(ActionMessage& command);
460  void removeNamedTarget(ActionMessage& command);
463  void setAsUsed(BasicHandleInfo* hand);
465  void registerInterface(ActionMessage& command);
467  void addTargetToInterface(ActionMessage& command);
469  void removeTargetFromInterface(ActionMessage& command);
471  void disconnectInterface(ActionMessage& command);
473  void manageTimeBlocks(const ActionMessage& command);
474 
481  std::string federateQuery(const FederateState* fed,
482  const std::string& queryStr,
483  bool force_ordering) const;
484 
486  void sendErrorToFederates(int errorCode, const std::string& message);
488  bool checkAndProcessDisconnect();
490  void sendDisconnect();
492  void broadcastToFederates(ActionMessage& cmd);
494  int generateMapObjectCounter() const;
495  friend class TimeoutMonitor;
496 };
497 
498 } // namespace helics
helics::timeZero
constexpr Time timeZero
Definition: helics-time.hpp:31
helics-time.hpp
helics::BrokerBase::joinAllThreads
void joinAllThreads()
Definition: BrokerBase.cpp:91
generateJsonString
std::string generateJsonString(const Json::Value &block)
Definition: JsonProcessingFunctions.cpp:97
data
@ data
print timing+data transmissions
Definition: loggingHelper.hpp:30
helics::CommonCore::requestTimeIterative
virtual iteration_time requestTimeIterative(local_federate_id federateID, Time next, iteration_request iterate) override final
Definition: CommonCore.cpp:746
helics::BrokerBase::broker_state_t::configuring
@ configuring
the broker is in the processing of configuring
helics::CommonCore::processCommand
virtual void processCommand(ActionMessage &&command) override final
Definition: CommonCore.cpp:2582
helics::CommonCore::removeRoute
virtual void removeRoute(route_id rid)=0
helics::BrokerBase::broker_state_t::terminated
@ terminated
the termination process has started
helics::ActionMessage::getDest
global_handle getDest() const
Definition: ActionMessage.hpp:149
helics::ActionMessage::source_id
global_federate_id source_id
12 – for federate_id or route_id
Definition: ActionMessage.hpp:36
helics::CommonCore::configureFromVector
virtual void configureFromVector(std::vector< std::string > args) override final
Definition: CommonCore.cpp:105
helics::ActionMessage::setExtraDestData
void setExtraDestData(int32_t data)
Definition: ActionMessage.hpp:161
helics::BrokerBase::isRunning
bool isRunning() const
Definition: BrokerBase.hpp:181
helics::CommonCore::removeTarget
virtual void removeTarget(interface_handle handle, const std::string &targetToRemove) override final
Definition: CommonCore.cpp:1220
helics::HELICS_INITIALIZING
@ HELICS_INITIALIZING
Definition: core-types.hpp:24
helics::CommonCore::~CommonCore
virtual ~CommonCore() override
Definition: CommonCore.cpp:266
helics::FederateState::nextAllowedSendTime
Time nextAllowedSendTime() const
Definition: FederateState.hpp:310
helics::BrokerBase::setLoggerFunction
void setLoggerFunction(std::function< void(int, const std::string &, const std::string &)> logFunction)
Definition: BrokerBase.cpp:513
helics::CommonCore::setIdentifier
void setIdentifier(const std::string &name)
Definition: CommonCore.cpp:1914
helics::CommonCore::getFlagOption
virtual bool getFlagOption(local_federate_id federateID, int32_t flag) const override final
Definition: CommonCore.cpp:918
helics::CommonCore::setInterfaceInfo
virtual void setInterfaceInfo(interface_handle handle, std::string info) override final
Definition: CommonCore.cpp:4175
helics::BrokerBase::broker_state_t::errored
@ errored
an error was encountered
helics::CommonCore::timeRequest
virtual Time timeRequest(local_federate_id federateID, Time next) override final
Definition: CommonCore.cpp:714
helics::CommonCore::receiveAny
virtual std::unique_ptr< Message > receiveAny(local_federate_id federateID, interface_handle &endpoint_id) override final
Definition: CommonCore.cpp:1780
helics::ActionMessage::setSource
void setSource(global_handle hand)
Definition: ActionMessage.hpp:94
slow_responding_flag
constexpr uint16_t slow_responding_flag
overload of extra_flag4 indicating a federate, core or broker is slow responding
Definition: flagOperations.hpp:37
helics::ActionMessage::dest_handle
interface_handle dest_handle
24 local handle for a targeted message
Definition: ActionMessage.hpp:39
helics::iteration_result::next_step
@ next_step
helics::BrokerBase::useJsonSerialization
bool useJsonSerialization
Definition: BrokerBase.hpp:128
helics::BrokerBase::brokerKey
std::string brokerKey
Definition: BrokerBase.hpp:59
helics::CommonCore::setLoggingCallback
virtual void setLoggingCallback(local_federate_id federateID, std::function< void(int, const std::string &, const std::string &)> logFunction) override final
Definition: CommonCore.cpp:1843
helics::BrokerBase::timeout
Time timeout
timeout to wait to establish a broker connection before giving up
Definition: BrokerBase.hpp:53
helics::iteration_request
iteration_request
Definition: core-types.hpp:90
helics::BrokerBase::enable_profiling
bool enable_profiling
indicator that profiling is enabled
Definition: BrokerBase.hpp:129
helics::CommonCore::registerFederate
virtual local_federate_id registerFederate(const std::string &name, const CoreFederateInfo &info) override final
Definition: CommonCore.cpp:596
helics::InvalidIdentifier
Definition: core-exceptions.hpp:39
helics::HandleManager::getFilter
const BasicHandleInfo * getFilter(const std::string &name) const
Definition: HandleManager.cpp:306
helics::CommonCore::setFlagOption
virtual void setFlagOption(local_federate_id federateID, int32_t flag, bool flagValue=true) override final
Definition: CommonCore.cpp:876
helics::CommonCore::getEndpoint
virtual interface_handle getEndpoint(local_federate_id federateID, const std::string &name) const override final
Definition: CommonCore.cpp:1468
helics::CommonCore::logMessage
virtual void logMessage(local_federate_id federateID, int logLevel, const std::string &messageToLog) override final
Definition: CommonCore.cpp:1807
helics::BasicHandleInfo::getInterfaceHandle
interface_handle getInterfaceHandle() const
Definition: BasicHandleInfo.hpp:71
helics::local_federate_id
Definition: federate_id.hpp:22
helics::CommonCore::setIntegerProperty
virtual void setIntegerProperty(local_federate_id federateID, int32_t property, int16_t propertyValue) override final
Definition: CommonCore.cpp:806
helics::interface_handle::baseValue
constexpr base_type baseValue() const
Definition: federate_id.hpp:73
helics::ActionMessage::source_handle
interface_handle source_handle
16 – for local handle or local code
Definition: ActionMessage.hpp:37
helics::HelicsSystemFailure
Definition: core-exceptions.hpp:94
helics::CommonCore::getHandleFederate
FederateState * getHandleFederate(interface_handle handle)
Definition: CommonCore.cpp:307
helics::global_broker_id_shift
constexpr identififier_base_type global_broker_id_shift
Definition: global_federate_id.hpp:22
helics::iteration_result
iteration_result
Definition: core-types.hpp:81
helics::global_broker_id
Definition: global_federate_id.hpp:26
helics::BrokerBase::hasTimeDependency
bool hasTimeDependency
set to true if the broker has Time dependencies
Definition: BrokerBase.hpp:119
helics::BrokerBase::broker_state_t::operating
@ operating
normal operating conditions
helics::BrokerBase::getFlagValue
bool getFlagValue(int32_t flag) const
Definition: BrokerBase.cpp:501
helics_definitions.hpp
base helics enumerations for C++ API's, a namespace wrapper for the definitions defined in helics_enu...
warning
@ warning
print/log warning and errors
Definition: loggingHelper.hpp:23
helics::CommonCore::getInjectionType
virtual const std::string & getInjectionType(interface_handle handle) const override final
Definition: CommonCore.cpp:1107
helics::global_federate_id
Definition: global_federate_id.hpp:68
helics::CommonCore::setHandleOption
virtual void setHandleOption(interface_handle handle, int32_t option, int32_t option_value) override final
Definition: CommonCore.cpp:1149
helics::ActionMessage::setAction
void setAction(action_message_def::action_t newAction)
Definition: ActionMessage.cpp:140
helics::CommonCore
Definition: CommonCore.hpp:73
helics::setIterationFlags
void setIterationFlags(ActionMessage &command, iteration_request iterate)
Definition: ActionMessage.cpp:950
helics::BrokerBase::getGlobalId
global_broker_id getGlobalId() const
Definition: BrokerBase.hpp:190
helics::CommonCore::closeHandle
virtual void closeHandle(interface_handle handle) override final
Definition: CommonCore.cpp:1203
helics::BrokerBase::broker_state_t::terminating
@ terminating
the termination process has started
helics::parent_broker_id
constexpr global_broker_id parent_broker_id
Definition: global_federate_id.hpp:60
helics::CommonCore::setLogFile
virtual void setLogFile(const std::string &lfile) override final
Definition: CommonCore.cpp:1838
helics::FilterFederate::processFilterReturn
void processFilterReturn(ActionMessage &cmd)
Definition: FilterFederate.cpp:242
helics::BrokerBase::setErrorState
void setErrorState(int eCode, const std::string &estring)
Definition: BrokerBase.cpp:468
helics::CommonCore::getValue
virtual const std::shared_ptr< const data_block > & getValue(interface_handle handle, uint32_t *inputIndex) override final
Definition: CommonCore.cpp:1394
helics::Time
TimeRepresentation< count_time< 9 > > Time
Definition: helics-time.hpp:27
helics::CommonCore::addDestinationTarget
virtual void addDestinationTarget(interface_handle handle, const std::string &dest) override final
Definition: CommonCore.cpp:1254
helics::CommonCore::getHandleInfo
const BasicHandleInfo * getHandleInfo(interface_handle handle) const
Definition: CommonCore.cpp:340
helics::BrokerBase::hasFilters
bool hasFilters
flag indicating filters come through the broker
Definition: BrokerBase.hpp:123
loggingHelper.hpp
helics::CommonCore::getExtractionType
virtual const std::string & getExtractionType(interface_handle handle) const override final
Definition: CommonCore.cpp:1131
helics::CommonCore::setQueryCallback
virtual void setQueryCallback(local_federate_id federateID, std::function< std::string(const std::string &)> queryFunction) override
Definition: CommonCore.cpp:1946
nameless_interface_flag
constexpr uint16_t nameless_interface_flag
overload of flag to indicate an interface is nameless
Definition: flagOperations.hpp:58
helics::CommonCore::addSourceTarget
virtual void addSourceTarget(interface_handle handle, const std::string &name) override final
Definition: CommonCore.cpp:1294
helics::ActionMessage
Definition: ActionMessage.hpp:29
helics::BrokerBase::maxIterationCount
int32_t maxIterationCount
the maximum number of iterative loops that are allowed
Definition: BrokerBase.hpp:51
helics::BrokerBase::fileLogLevel
int32_t fileLogLevel
the logging level for logging to a file
Definition: BrokerBase.hpp:44
helics::CommonCore::setTimeProperty
virtual void setTimeProperty(local_federate_id federateID, int32_t property, Time time) override final
Definition: CommonCore.cpp:832
helics::FilterFederate::destinationProcessMessage
bool destinationProcessMessage(ActionMessage &command, const BasicHandleInfo *handle)
Definition: FilterFederate.cpp:402
helics_sequencing_mode_ordered
@ helics_sequencing_mode_ordered
Definition: helics_enums.h:337
helics::local_federate_id::baseValue
constexpr base_type baseValue() const
Definition: federate_id.hpp:30
helics::BrokerBase::parseArgs
int parseArgs(int argc, char *argv[])
Definition: BrokerBase.cpp:299
coreTypeOperations.hpp
helics::CommonCore::registerCloningFilter
virtual interface_handle registerCloningFilter(const std::string &filterName, const std::string &type_in, const std::string &type_out) override final
Definition: CommonCore.cpp:1514
helics::global_broker_id::baseValue
constexpr base_type baseValue() const
Definition: global_federate_id.hpp:34
helics::CommonCore::unregister
void unregister()
Definition: CommonCore.cpp:244
helics::CommonCore::enterInitializingMode
virtual void enterInitializingMode(local_federate_id federateID) override final
Definition: CommonCore.cpp:533
helics::CommonCore::getHandleOption
virtual int32_t getHandleOption(interface_handle handle, int32_t option) const override final
Definition: CommonCore.cpp:1178
helics::CommonCore::allDisconnected
bool allDisconnected() const
Definition: CommonCore.cpp:474
disconnected_flag
@ disconnected_flag
flag indicating that a broker/federate is disconnected
Definition: flagOperations.hpp:30
helics::versionString
constexpr auto versionString
Definition: helicsVersion.hpp:16
helics::appendMessage
int appendMessage(ActionMessage &m, const ActionMessage &newMessage)
Definition: ActionMessage.cpp:939
helics::BrokerBase::configureBase
virtual void configureBase()
Definition: BrokerBase.cpp:326
helics::ActionMessage::counter
uint16_t counter
26 counter for filter tracking or message counter
Definition: ActionMessage.hpp:40
helics::CommonCore::setGlobal
virtual void setGlobal(const std::string &valueName, const std::string &value) override
Definition: CommonCore.cpp:2351
helics::BrokerBase::timeCoord
std::unique_ptr< ForwardingTimeCoordinator > timeCoord
object managing the time control
Definition: BrokerBase.hpp:93
helics::BrokerBase::broker_state_t::configured
@ configured
the broker itself has been configured and is ready to connect
helics::CommonCore::getInput
virtual interface_handle getInput(local_federate_id federateID, const std::string &key) const override final
Definition: CommonCore.cpp:1003
helics::ConnectionFailure
Definition: core-exceptions.hpp:76
checkActionFlag
bool checkActionFlag(uint16_t flags, FlagIndex flag)
Definition: flagOperations.hpp:75
helics::BrokerBase::no_ping
bool no_ping
indicator that the broker is not very responsive to ping requests
Definition: BrokerBase.hpp:125
helics::FilterFederate::createFilter
FilterInfo * createFilter(global_broker_id dest, interface_handle handle, const std::string &key, const std::string &type_in, const std::string &type_out, bool cloning)
Definition: FilterFederate.cpp:676
helics::FilterFederate::hasActiveTimeDependencies
bool hasActiveTimeDependencies() const
Definition: FilterFederate.cpp:1090
helics::CommonCore::addRoute
virtual void addRoute(route_id rid, int interfaceId, const std::string &routeInfo)=0
helics_property_int_console_log_level
@ helics_property_int_console_log_level
Definition: helics_enums.h:242
helics::CommonCore::connect
virtual bool connect() override final
Definition: CommonCore.cpp:121
helics::CommonCore::minFederateState
operation_state minFederateState() const
Definition: CommonCore.cpp:492
helics::CommonCore::CommonCore
CommonCore() noexcept
Definition: CommonCore.cpp:64
helics_sequencing_mode
helics_sequencing_mode
Definition: helics_enums.h:333
helics::CommonCore::getPublication
virtual interface_handle getPublication(local_federate_id federateID, const std::string &key) const override final
Definition: CommonCore.cpp:1049
helics::InvalidFunctionCall
Definition: core-exceptions.hpp:67
helics::operation_state
operation_state
Definition: CommonCore.hpp:51
helics::InvalidParameter
Definition: core-exceptions.hpp:48
helics::BrokerBase::lastErrorString
std::string lastErrorString
storage for last error string
Definition: BrokerBase.hpp:133
helics::has_source_filter_flag
@ has_source_filter_flag
indicator that an endpoint or message has a source filter
Definition: BasicHandleInfo.hpp:27
helics::handle_type::filter
@ filter
handle to a filter
helics::HandleManager::findHandle
BasicHandleInfo * findHandle(global_handle id)
Definition: HandleManager.cpp:130
helics::Core
Definition: core/Core.hpp:42
helics::CommonCore::checkInFlightQueriesForDisconnect
void checkInFlightQueriesForDisconnect()
Definition: CommonCore.cpp:3955
helics::BrokerBase::setLogLevel
void setLogLevel(int32_t level)
Definition: BrokerBase.cpp:519
helics::RegistrationFailure
Definition: core-exceptions.hpp:85
helics::CommonCore::dataLink
virtual void dataLink(const std::string &source, const std::string &target) override final
Definition: CommonCore.cpp:1581
helics::commandErrorString
const char * commandErrorString(int errorCode)
Definition: ActionMessage.cpp:837
helics::BrokerBase::addActionMessage
void addActionMessage(const ActionMessage &m)
Definition: BrokerBase.cpp:544
helics::BrokerBase::generateLocalAddressString
virtual std::string generateLocalAddressString() const =0
helics::BrokerBase::broker_state_t::connecting
@ connecting
the connection process has started
child_flag
constexpr uint16_t child_flag
overload of extra_flag4 indicating a message is from a child object
Definition: flagOperations.hpp:46
helics::iteration_request::iterate_if_needed
@ iterate_if_needed
indicator that the iterations need to continue
helics::BrokerBase::broker_state_t::connected
@ connected
the connection process has completed
helics::iteration_result::halted
@ halted
indicator that the simulation has been halted
helics::CommonCore::isConfigured
virtual bool isConfigured() const override final
Definition: CommonCore.cpp:361
helics::route_id
Definition: global_federate_id.hpp:171
helics::iteration_request::no_iterations
@ no_iterations
indicator that the iterations have completed
helics::CommonCore::getValueUpdates
virtual const std::vector< interface_handle > & getValueUpdates(local_federate_id federateID) override final
Definition: CommonCore.cpp:1426
helics::CommonCore::waitForDisconnect
virtual bool waitForDisconnect(std::chrono::milliseconds msToWait=std::chrono::milliseconds(0)) const override final
Definition: CommonCore.cpp:235
helics::BrokerBase::broker_state_t::created
@ created
the broker has been created
helics::ActionMessage::payload
std::string payload
Definition: ActionMessage.hpp:44
clone_flag
@ clone_flag
flag indicating the filter is a clone filter or the data needs to be cloned
Definition: flagOperations.hpp:25
clearActionFlag
void clearActionFlag(FlagContainer &M, FlagIndex flag)
Definition: flagOperations.hpp:90
helics::CommonCore::getFederateName
virtual const std::string & getFederateName(local_federate_id federateID) const override final
Definition: CommonCore.cpp:674
helics::BrokerBase::global_id
std::atomic< global_broker_id > global_id
the unique identifier for the broker(core or broker)
Definition: BrokerBase.hpp:36
helics::direct_core_id
constexpr global_federate_id direct_core_id
Definition: global_federate_id.hpp:121
helics::BrokerBase::broker_state_t::initializing
@ initializing
the enter initialization process has started
helics::CommonCore::allInitReady
bool allInitReady() const
Definition: CommonCore.cpp:459
helics::ActionMessage::messageID
int32_t messageID
8 – message ID for a variety of purposes
Definition: ActionMessage.hpp:35
helics::BrokerBase::brokerStateName
const friend std::string & brokerStateName(broker_state_t state)
Definition: BrokerBase.cpp:918
helics::CommonCore::getAllValues
virtual const std::vector< std::shared_ptr< const data_block > > & getAllValues(interface_handle handle) override final
Definition: CommonCore.cpp:1411
helics::CommonCore::configure
virtual void configure(const std::string &configureString) override final
Definition: CommonCore.cpp:73
helics::CommonCore::getExtractionUnits
virtual const std::string & getExtractionUnits(interface_handle handle) const override final
Definition: CommonCore.cpp:1092
helics::BrokerBase::global_broker_id_local
global_broker_id global_broker_id_local
Definition: BrokerBase.hpp:38
helics::CommonCore::getIntegerProperty
virtual int16_t getIntegerProperty(local_federate_id federateID, int32_t property) const override final
Definition: CommonCore.cpp:857
indicator_flag
@ indicator_flag
flag used for setting values
Definition: flagOperations.hpp:21
helics_log_level_data
@ helics_log_level_data
Definition: helics_enums.h:180
helics::FedInfo
Definition: CommonCore.hpp:57
helics::BasicHandleInfo
Definition: BasicHandleInfo.hpp:36
use_json_serialization_flag
@ use_json_serialization_flag
flag to indicate it should use the json packetization
Definition: flagOperations.hpp:22
helics::BasicHandleInfo::local_fed_id
local_federate_id local_fed_id
the local federate id of the handle
Definition: BasicHandleInfo.hpp:58
helics::CoreFederateInfo::intProps
std::vector< std::pair< int, int > > intProps
container for the integer properties
Definition: CoreFederateInfo.hpp:19
helics::CommonCore::setFilterOperator
virtual void setFilterOperator(interface_handle filter, std::shared_ptr< FilterOperator > callback) override final
Definition: CommonCore.cpp:1890
helics_property_int_file_log_level
@ helics_property_int_file_log_level
Definition: helics_enums.h:239
fed
@ fed
special logging command for message coming from a fed
Definition: loggingHelper.hpp:32
helics::CoreFactory::findCore
std::shared_ptr< Core > findCore(const std::string &name)
Definition: CoreFactory.cpp:267
helics::direct_send_handle
constexpr interface_handle direct_send_handle
this special handle can be used to directly send a message in a core
Definition: federate_id.hpp:95
helics::BrokerBase::enteredExecutionMode
bool enteredExecutionMode
flag indicating that the broker has entered execution mode
Definition: BrokerBase.hpp:120
helics_property_int_log_level
@ helics_property_int_log_level
Definition: helics_enums.h:236
helics::HELICS_ERROR
@ HELICS_ERROR
the federation has encountered an error
Definition: core-types.hpp:28
helics::fedStateString
const std::string & fedStateString(federate_state state)
Definition: FederateState.cpp:1645
setActionFlag
void setActionFlag(FlagContainer &M, FlagIndex flag)
Definition: flagOperations.hpp:67
NO_ITERATION
constexpr auto NO_ITERATION
Definition: core-types.hpp:101
helics::FilterFederate::processMessageFilter
void processMessageFilter(ActionMessage &cmd)
Definition: FilterFederate.cpp:68
helics::HandleManager::getHandleInfo
BasicHandleInfo * getHandleInfo(int32_t index)
Definition: HandleManager.cpp:94
helics::HandleManager::getEndpoint
BasicHandleInfo * getEndpoint(const std::string &name)
Definition: HandleManager.cpp:204
helics::BrokerBase::terminate_on_error
bool terminate_on_error
flag indicating that the federation should halt on any error
Definition: BrokerBase.hpp:77
helics::BrokerBase::lastErrorCode
std::atomic< int > lastErrorCode
storage for last error code
Definition: BrokerBase.hpp:132
helics::interface_handle
Definition: federate_id.hpp:65
helics::handle_type
handle_type
Definition: BasicHandleInfo.hpp:16
helics::CommonCore::transmit
virtual void transmit(route_id rid, const ActionMessage &command)=0
helics::CommonCore::getErrorMessage
virtual std::string getErrorMessage() const override final
Definition: CommonCore.cpp:438
helics::HELICS_TERMINATING
@ HELICS_TERMINATING
the federate is in the process of shutting down
Definition: core-types.hpp:27
helics::CommonCore::getTimeProperty
virtual Time getTimeProperty(local_federate_id federateID, int32_t property) const override final
Definition: CommonCore.cpp:848
helics::CommonCore::sendEvent
virtual void sendEvent(Time time, interface_handle sourceHandle, const std::string &destination, const char *data, uint64_t length) override final
Definition: CommonCore.cpp:1645
helics::CommonCore::processPriorityCommand
virtual void processPriorityCommand(ActionMessage &&command) override final
Definition: CommonCore.cpp:2361
helics::prettyPrintString
std::string prettyPrintString(const ActionMessage &command)
Definition: ActionMessage.cpp:861
helics::CommonCore::getFederateId
virtual local_federate_id getFederateId(const std::string &name) const override final
Definition: CommonCore.cpp:694
helics::CommonCore::disconnect
virtual void disconnect() override final
Definition: CommonCore.cpp:212
helics::ActionMessage::flags
uint16_t flags
28 set of messageFlags
Definition: ActionMessage.hpp:41
helics::CommonCore::query
virtual std::string query(const std::string &target, const std::string &queryStr, helics_sequencing_mode mode) override
Definition: CommonCore.cpp:2268
helics::isDisconnectCommand
bool isDisconnectCommand(const ActionMessage &command) noexcept
Definition: ActionMessage.hpp:276
helics::iteration_result::error
@ error
indicator that an error has occurred
helics::CommonCore::setCoreReadyToInit
virtual void setCoreReadyToInit() override final
Definition: CommonCore.cpp:503
empty_flag
@ empty_flag
flag indicating the interface is nameless
Definition: flagOperations.hpp:33
helics::CommonCore::configureFromArgs
virtual void configureFromArgs(int argc, char *argv[]) override final
Definition: CommonCore.cpp:89
helics::BrokerBase::writeProfilingData
void writeProfilingData()
Definition: BrokerBase.cpp:457
helics::CommonCore::getFederate
FederateState * getFederate(const std::string &federateName) const
Definition: CommonCore.cpp:301
helics::CommonCore::makeConnections
virtual void makeConnections(const std::string &file) override final
Definition: CommonCore.cpp:1572
helics::CommonCore::getErrorCode
virtual int getErrorCode() const override final
Definition: CommonCore.cpp:433
parent_flag
constexpr uint16_t parent_flag
overload of extra_flag3 indicating the message is from a parent object
Definition: flagOperations.hpp:43
helics::CommonCore::finalize
virtual void finalize(local_federate_id federateID) override final
Definition: CommonCore.cpp:446
helics::HELICS_EXECUTING
@ HELICS_EXECUTING
the federation has entered execution state and it now advancing in time
Definition: core-types.hpp:26
helics::CommonCore::getInterfaceInfo
virtual const std::string & getInterfaceInfo(interface_handle handle) const override final
Definition: CommonCore.cpp:4166
error_flag
@ error_flag
flag indicating an error condition associated with the command
Definition: flagOperations.hpp:20
non_counting_flag
constexpr uint16_t non_counting_flag
overload of nameless_interface_flag indicating that a federate should not count in any totals
Definition: flagOperations.hpp:49
helics::handle_type::input
@ input
handle to a input interface
helics::FederateState
Definition: FederateState.hpp:42
helics::BrokerBase::setLoggingFile
void setLoggingFile(const std::string &lfile)
Definition: BrokerBase.cpp:486
helics::ActionMessage::actionTime
Time actionTime
40 the time an action took place or will take place //32
Definition: ActionMessage.hpp:43
helics::BrokerBase::setLogLevels
void setLogLevels(int32_t consoleLevel, int32_t fileLevel)
Definition: BrokerBase.cpp:537
helics::CommonCore::getFederateAt
FederateState * getFederateAt(local_federate_id federateID) const
Definition: CommonCore.cpp:271
helics::CommonCore::setValue
virtual void setValue(interface_handle handle, const char *data, uint64_t len) override final
Definition: CommonCore.cpp:1329
log_level
log_level
Definition: loggingHelper.hpp:20
helics::CommonCore::isOpenToNewFederates
virtual bool isOpenToNewFederates() const override final
Definition: CommonCore.cpp:366
destination_target
@ destination_target
indicator that the target is a destination target
Definition: flagOperations.hpp:17
helics
the main namespace for the helics co-simulation library User functions will be in the helics namespac...
Definition: AsyncFedCallInfo.hpp:14
helics::BrokerBase::debugging
bool debugging
flag indicating operation in a user debugging mode
Definition: BrokerBase.hpp:79
error
@ error
only print errors
Definition: loggingHelper.hpp:22
helics::CoreFederateInfo
Definition: CoreFederateInfo.hpp:16
helics::iteration_time
Definition: helics-time.hpp:47
helics::local_core_id
constexpr local_federate_id local_core_id(-259)
helics::CommonCore::registerPublication
virtual interface_handle registerPublication(local_federate_id federateID, const std::string &key, const std::string &type, const std::string &units) override final
Definition: CommonCore.cpp:1012
helics::CommonCore::getIdentifier
virtual const std::string & getIdentifier() const override final
Definition: CommonCore.hpp:214
helics::CommonCore::receiveCountAny
virtual uint64_t receiveCountAny(local_federate_id federateID) override final
Definition: CommonCore.cpp:1794
helics::BrokerBase::queryTimeout
Time queryTimeout
Definition: BrokerBase.hpp:55
helics::CommonCore::registerFilter
virtual interface_handle registerFilter(const std::string &filterName, const std::string &type_in, const std::string &type_out) override final
Definition: CommonCore.cpp:1478
helics::FunctionExecutionFailure
Definition: core-exceptions.hpp:29
helics::BrokerBase::consoleLogLevel
int32_t consoleLogLevel
the logging level for console display
Definition: BrokerBase.hpp:43
helics::CommonCore::getFilter
virtual interface_handle getFilter(const std::string &name) const override final
Definition: CommonCore.cpp:1557
helics::CommonCore::processDisconnect
virtual void processDisconnect(bool skipUnregister=false) override final
Definition: CommonCore.cpp:183
core_flag
@ core_flag
flag indicating that message comes from a core vs a broker
Definition: flagOperations.hpp:19
helics::CommonCore::receive
virtual std::unique_ptr< Message > receive(interface_handle destination) override final
Definition: CommonCore.cpp:1767
helics::CommonCore::registerEndpoint
virtual interface_handle registerEndpoint(local_federate_id federateID, const std::string &name, const std::string &type) override final
Definition: CommonCore.cpp:1435
helics::BrokerBase::setTickForwarding
void setTickForwarding(TickForwardingReasons reason, bool value=true)
Definition: BrokerBase.cpp:838
helics::TimeoutMonitor
Definition: TimeoutMonitor.h:27
core-exceptions.hpp
helics::ActionMessage::setDestination
void setDestination(global_handle hand)
Definition: ActionMessage.hpp:100
helics::BrokerBase::sendToLogger
virtual bool sendToLogger(global_federate_id federateID, int logLevel, const std::string &name, const std::string &message) const
Definition: BrokerBase.cpp:359
helics::BrokerBase::isReasonForTick
static bool isReasonForTick(std::uint32_t code, TickForwardingReasons reason)
Definition: BrokerBase.hpp:208
helics::CommonCore::enterExecutingMode
virtual iteration_result enterExecutingMode(local_federate_id federateID, iteration_request iterate=NO_ITERATION) override final
Definition: CommonCore.cpp:568
helics::handle_type::endpoint
@ endpoint
handle to an endpoint
gmlc::libguarded::shared_guarded
Definition: application_api/Federate.hpp:26
helics::FilterFederate::processDestFilterReturn
void processDestFilterReturn(ActionMessage &command)
Definition: FilterFederate.cpp:295
helics::BrokerBase::higher_broker_id
global_broker_id higher_broker_id
the id code of the broker 1 level about this broker
Definition: BrokerBase.hpp:40
helics::ActionMessage::dest_id
global_federate_id dest_id
20 fed_id for a targeted message
Definition: ActionMessage.hpp:38
helics::BrokerBase::saveProfilingData
void saveProfilingData(const std::string &message)
Definition: BrokerBase.cpp:448
helics::HELICS_FINISHED
@ HELICS_FINISHED
the federation has finished its execution
Definition: core-types.hpp:29
helics::CommonCore::getInjectionUnits
virtual const std::string & getInjectionUnits(interface_handle handle) const override final
Definition: CommonCore.cpp:1070
helics::CommonCore::getFederationSize
virtual int32_t getFederationSize() override final
Definition: CommonCore.cpp:705
helics_sequencing_mode_fast
@ helics_sequencing_mode_fast
Definition: helics_enums.h:335
helics::ActionMessage::action
action_message_def::action_t action() const noexcept
Definition: ActionMessage.hpp:89
helics::CommonCore::sendMessage
virtual void sendMessage(interface_handle sourceHandle, std::unique_ptr< Message > message) override final
Definition: CommonCore.cpp:1670
helics::CommonCore::getCurrentTime
virtual Time getCurrentTime(local_federate_id federateID) const override final
Definition: CommonCore.cpp:788
helics::BrokerBase::actionQueue
gmlc::containers::BlockingPriorityQueue< ActionMessage > actionQueue
primary routing queue
Definition: BrokerBase.hpp:94
helics::BrokerBase::minFederateCount
int32_t minFederateCount
the minimum number of federates that must connect before entering init mode
Definition: BrokerBase.hpp:45
helics::CommonCore::getAddress
virtual const std::string & getAddress() const override final
Definition: CommonCore.cpp:175
helics::CommonCore::send
virtual void send(interface_handle sourceHandle, const std::string &destination, const char *data, uint64_t length) override final
Definition: CommonCore.cpp:1619
helics::BrokerBase::identifier
std::string identifier
an identifier for the broker
Definition: BrokerBase.hpp:58
helics::CommonCore::addDependency
virtual void addDependency(local_federate_id federateID, const std::string &federateName) override final
Definition: CommonCore.cpp:1607
helics::root_broker_id
constexpr global_broker_id root_broker_id
Definition: global_federate_id.hpp:62
helics::BrokerBase
Definition: BrokerBase.hpp:34
helics::message_processing_result::next_step
@ next_step
indicator that the iterations have completed
helics::CommonCore::isConnected
virtual bool isConnected() const override final
Definition: CommonCore.cpp:168
helics::isPriorityCommand
bool isPriorityCommand(const ActionMessage &command) noexcept
Definition: ActionMessage.hpp:232
helics::handle_type::publication
@ publication
handle to output interface
helics::HELICS_UNKNOWN
@ HELICS_UNKNOWN
unknown state
Definition: core-types.hpp:30
helics::state_string
const std::string & state_string(operation_state state)
Definition: CommonCore.cpp:47
helics::CommonCore::addDestinationFilterToEndpoint
virtual void addDestinationFilterToEndpoint(const std::string &filter, const std::string &endpoint) override final
Definition: CommonCore.cpp:1597
helics::errorMessageString
std::string errorMessageString(const ActionMessage &command)
Definition: ActionMessage.cpp:849
helics::has_dest_filter_flag
@ has_dest_filter_flag
indicator that an endpoint or message has a destination filter
Definition: BasicHandleInfo.hpp:29
helics::CommonCore::getCurrentReiteration
virtual uint64_t getCurrentReiteration(local_federate_id federateID) const override final
Definition: CommonCore.cpp:797
BrokerBase.hpp
helics::BrokerBase::address
std::string address
network location of the broker
Definition: BrokerBase.hpp:64
helics::CommonCore::getHandleName
virtual const std::string & getHandleName(interface_handle handle) const override final
Definition: CommonCore.cpp:1061
helics::HelicsException
Definition: core-exceptions.hpp:18
helics::ActionMessage::name
std::string & name
alias payload to a name reference for registration functions
Definition: ActionMessage.hpp:46
helics::CommonCore::setLoggingLevel
virtual void setLoggingLevel(int logLevel) override
Definition: CommonCore.cpp:1829
helics::CommonCore::addSourceFilterToEndpoint
virtual void addSourceFilterToEndpoint(const std::string &filter, const std::string &endpoint) override final
Definition: CommonCore.cpp:1589
make_flags
constexpr uint16_t make_flags(unsigned int flag)
Definition: flagOperations.hpp:96
helics::CommonCore::registerFrequentCommunicationsPair
virtual void registerFrequentCommunicationsPair(const std::string &source, const std::string &dest) override final
Definition: CommonCore.cpp:1566
helics::CoreFactory::unregisterCore
void unregisterCore(const std::string &name)
Definition: CoreFactory.cpp:347
helics::CommonCore::registerInput
virtual interface_handle registerInput(local_federate_id federateID, const std::string &key, const std::string &type, const std::string &units) override final
Definition: CommonCore.cpp:965
helics::CommonCore::getLocalEndpoint
const BasicHandleInfo * getLocalEndpoint(const std::string &name) const
Definition: CommonCore.cpp:345
helics::isValidIndex
bool isValidIndex(sizeType testSize, const SizedDataType &vec)
Definition: core-data.hpp:249
helics::CommonCore::receiveCount
virtual uint64_t receiveCount(interface_handle destination) override final
Definition: CommonCore.cpp:1758
helicsVersion.hpp