9 #include "../core/core-types.hpp"
10 #include "../core/helicsCLI11.hpp"
11 #include "NetworkBroker.hpp"
18 constexpr
const char* tstr[] = {
"default",
35 constexpr
const char* tcodeStr(
int tcode)
37 return ((tcode >= 0) && (tcode < 15)) ? tstr[tcode] : tstr[15];
40 constexpr
const char* defInterface[] = {
"127.0.0.1",
46 template<
class COMMS,
interface_type baseline,
int tcode>
50 netInfo.server_mode = NetworkBrokerData::server_mode_options::server_default_active;
53 template<
class COMMS,
interface_type baseline,
int tcode>
57 netInfo.server_mode = NetworkBrokerData::server_mode_options::server_default_active;
60 template<
class COMMS,
interface_type baseline,
int tcode>
63 auto app = CoreBroker::generateCLI();
64 CLI::App_p netApp = netInfo.commandLineParser(defInterface[
static_cast<int>(baseline)],
false);
65 app->add_subcommand(netApp);
69 template<
class COMMS,
interface_type baseline,
int tcode>
72 std::lock_guard<std::mutex> lock(dataMutex);
73 if ((netInfo.brokerName.empty()) && (netInfo.brokerAddress.empty())) {
74 CoreBroker::setAsRoot();
76 netInfo.useJsonSerialization = BrokerBase::useJsonSerialization;
83 if (netInfo.portNumber < 0) {
90 template<
class COMMS,
interface_type baseline,
int tcode>
97 std::lock_guard<std::mutex> lock(dataMutex);
99 case interface_type::tcp:
100 case interface_type::ip:
101 case interface_type::udp:
102 if (!netInfo.localInterface.empty() && (netInfo.localInterface.back() ==
'*')) {
104 netInfo.localInterface.substr(0, netInfo.localInterface.size() - 1),
110 case interface_type::inproc:
111 case interface_type::ipc:
113 if (!netInfo.localInterface.empty()) {
114 add = netInfo.localInterface;
116 add = CoreBroker::getIdentifier();