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;
63 if (netInfo.portNumber < 0) {
70 template<
class COMMS, InterfaceTypes baseline>
77 std::lock_guard<std::mutex> lock(dataMutex);
79 case InterfaceTypes::TCP:
80 case InterfaceTypes::IP:
81 case InterfaceTypes::UDP:
82 if (!netInfo.localInterface.empty() && (netInfo.localInterface.back() ==
'*')) {
84 netInfo.localInterface.substr(0, netInfo.localInterface.size() - 1),
90 case InterfaceTypes::INPROC:
91 case InterfaceTypes::IPC:
93 if (!netInfo.localInterface.empty()) {
94 add = netInfo.localInterface;
96 add = CommonCore::getIdentifier();