9 #include "../core/helicsCLI11.hpp"
10 #include "NetworkCore.hpp"
16 constexpr
const char* defBrokerInterface[] = {
"127.0.0.1",
21 constexpr
const char* defLocalInterface[] = {
"127.0.0.1",
"127.0.0.1",
"tcp://127.0.0.1",
"",
""};
23 template<
class COMMS, InterfaceTypes baseline>
26 netInfo.server_mode = NetworkBrokerData::ServerModeOptions::SERVER_DEFAULT_DEACTIVATED;
29 template<
class COMMS, InterfaceTypes baseline>
33 netInfo.server_mode = NetworkBrokerData::ServerModeOptions::SERVER_DEFAULT_DEACTIVATED;
36 template<
class COMMS, InterfaceTypes baseline>
39 auto app = CommonCore::generateCLI();
41 netInfo.commandLineParser(defLocalInterface[
static_cast<int>(baseline)],
false);
42 app->add_subcommand(netApp);
46 template<
class COMMS, InterfaceTypes baseline>
49 std::lock_guard<std::mutex> lock(dataMutex);
50 if (netInfo.brokerAddress.empty())
52 netInfo.brokerAddress = defBrokerInterface[
static_cast<int>(baseline)];
55 netInfo.useJsonSerialization = BrokerBase::useJsonSerialization;
56 netInfo.observer = BrokerBase::observer;
62 if (netInfo.portNumber < 0) {
69 template<
class COMMS, InterfaceTypes baseline>
76 std::lock_guard<std::mutex> lock(dataMutex);
78 case InterfaceTypes::TCP:
79 case InterfaceTypes::IP:
80 case InterfaceTypes::UDP:
81 if (!netInfo.localInterface.empty() && (netInfo.localInterface.back() ==
'*')) {
82 add = gmlc::networking::makePortAddress(
83 netInfo.localInterface.substr(0, netInfo.localInterface.size() - 1),
86 add = gmlc::networking::makePortAddress(netInfo.localInterface,
90 case InterfaceTypes::INPROC:
91 case InterfaceTypes::IPC:
93 if (!netInfo.localInterface.empty()) {
94 add = netInfo.localInterface;
96 add = CommonCore::getIdentifier();
Definition: CommonCore.hpp:75
Definition: CommsBroker.hpp:21
Definition: NetworkCore.hpp:19
NetworkCore() noexcept
Definition: NetworkCore_impl.hpp:24
the main namespace for the helics co-simulation library User functions will be in the helics namespac...
Definition: AsyncFedCallInfo.hpp:14