 |
helics
3.0.1
|
9 #include "../core/CoreBroker.hpp"
10 #include "../network/NetworkBroker.hpp"
22 bool allowMultiBroker();
29 std::vector<std::unique_ptr<CommsInterface>>
comms;
30 std::unique_ptr<CommsInterface>
37 std::vector<std::pair<route_id, int>> routingTable;
45 explicit
MultiBroker(const std::
string& brokerName);
51 virtual
bool brokerConnect() override;
52 virtual
void brokerDisconnect() override;
53 virtual
bool tryReconnect() override;
65 virtual
void addRoute(
route_id rid,
int interfaceId, const std::
string& routeInfo) override;
Definition: MultiBroker.hpp:26
void joinAllThreads()
Definition: BrokerBase.cpp:91
CoreType type
the core type of the master controller
Definition: MultiBroker.hpp:36
virtual std::string generateLocalAddressString() const override
Definition: MultiBroker.cpp:217
@ MULTI
use the multi-broker
NetworkBrokerData netInfo
structure containing the networking information
Definition: MultiBroker.hpp:32
virtual std::shared_ptr< helicsCLI11App > generateCLI() override
Definition: CoreBroker.cpp:1896
CoreType
Definition: CoreTypes.hpp:36
virtual void addRoute(route_id rid, int interfaceId, const std::string &routeInfo) override
Definition: MultiBroker.cpp:277
@ INPROC
core/broker using a stripped down in process core type
Definition: NetworkBrokerData.hpp:36
std::string getAddress() const
Definition: NetworkCommsInterface.cpp:228
Definition: ActionMessage.hpp:30
~MultiBroker()
Definition: MultiBroker.cpp:70
std::atomic< bool > haltOperations
flag indicating that no further message should be processed
Definition: BrokerBase.hpp:77
@ DEFAULT
ZMQ if available or UDP.
Definition: helicsCLI11.hpp:41
void addAssociatedBrokerType(const std::string &name, CoreType type)
Definition: BrokerFactory.cpp:309
virtual const std::string & getIdentifier() const override final
Definition: CoreBroker.hpp:288
std::vector< std::unique_ptr< CommsInterface > > comms
the actual comms objects
Definition: MultiBroker.hpp:29
@ TCP
using tcp ports for communication
void addActionMessage(const ActionMessage &m)
Definition: BrokerBase.cpp:572
std::function< void(int, const std::string &, const std::string &)> getLoggingCallback() const
Definition: BrokerBase.cpp:84
Definition: GlobalFederateId.hpp:168
virtual void transmit(route_id rid, const ActionMessage &cmd) override
Definition: MultiBroker.cpp:235
@ INTERPROCESS
use when all federates are on the same machine
std::string brokerAddress
the address or domain name of the broker
Definition: NetworkBrokerData.hpp:47
Time networkTimeout
timeout to establish a socket connection before giving up
Definition: BrokerBase.hpp:57
std::atomic< int > disconnectionStage
the stage of disconnection
Definition: MultiBroker.hpp:28
@ TEST
use the Test core if all federates are in the same process
std::function< void(int, std::string_view, std::string_view)> loggerFunction
Definition: BrokerBase.hpp:75
virtual void setAsRoot() override final
Definition: CoreBroker.cpp:1905
std::shared_ptr< helicsCLI11App > commandLineParser(const std::string &localAddress, bool enableConfig=true)
Definition: NetworkBrokerData.cpp:28
the main namespace for the helics co-simulation library User functions will be in the helics namespac...
Definition: AsyncFedCallInfo.hpp:14
virtual void removeRoute(route_id rid) override
Definition: MultiBroker.cpp:292
@ HELICS_LOG_LEVEL_ERROR
Definition: helics_enums.h:181
Definition: NetworkCommsInterface.hpp:18
Definition: CoreBroker.hpp:95
std::unique_ptr< CommsInterface > masterComm
the primary comms object or the one that links with the master
Definition: MultiBroker.hpp:31
std::atomic< bool > brokerInitialized
atomic protecting local initialization
Definition: MultiBroker.hpp:35
@ IPC
same as INTERPROCESS
std::string brokerName
the identifier for the broker
Definition: NetworkBrokerData.hpp:46
std::string configFile
the name of the config file in use
Definition: MultiBroker.hpp:34
MultiBroker() noexcept
Definition: MultiBroker.cpp:68
bool isValidIndex(sizeType testSize, const SizedDataType &vec)
Definition: core-data.hpp:132