summaryrefslogtreecommitdiff
path: root/node
diff options
context:
space:
mode:
authorAdam Ierymenko <adam.ierymenko@gmail.com>2015-01-09 18:25:41 -0500
committerAdam Ierymenko <adam.ierymenko@gmail.com>2015-01-09 18:25:41 -0500
commitc8c5d3b06e241ca0817eeddb7b484bdc5927f828 (patch)
tree998516b4f680ee18ddf89fcfb220b123c284ef07 /node
parent0b84c10ccc8db26151b25f38869bb462656495d2 (diff)
downloadinfinitytier-c8c5d3b06e241ca0817eeddb7b484bdc5927f828.tar.gz
infinitytier-c8c5d3b06e241ca0817eeddb7b484bdc5927f828.zip
Create netconf master if redis options are in local.conf.
Diffstat (limited to 'node')
-rw-r--r--node/NetworkConfigMaster.hpp7
-rw-r--r--node/Node.cpp15
2 files changed, 22 insertions, 0 deletions
diff --git a/node/NetworkConfigMaster.hpp b/node/NetworkConfigMaster.hpp
index 25d5bb1c..c6993c56 100644
--- a/node/NetworkConfigMaster.hpp
+++ b/node/NetworkConfigMaster.hpp
@@ -30,6 +30,13 @@
#include "Constants.hpp"
+#define ZT_LOCAL_CONFIG_NETCONF_REDIS_HOST "netconf.redisHost"
+#define ZT_LOCAL_CONFIG_NETCONF_REDIS_PORT "netconf.redisPort"
+#define ZT_LOCAL_CONFIG_NETCONF_REDIS_PORT_DEFAULT 6379
+#define ZT_LOCAL_CONFIG_NETCONF_REDIS_AUTH "netconf.redisAuth"
+#define ZT_LOCAL_CONFIG_NETCONF_REDIS_DBNUM "netconf.redisDatabaseNumber"
+#define ZT_LOCAL_CONFIG_NETCONF_REDIS_DBNUM_DEFAULT 0
+
#ifdef ZT_ENABLE_NETCONF_MASTER
#include <stdint.h>
diff --git a/node/Node.cpp b/node/Node.cpp
index d65e4e39..b9f027e3 100644
--- a/node/Node.cpp
+++ b/node/Node.cpp
@@ -310,6 +310,21 @@ Node::ReasonForTermination Node::run()
}
RR->node = this;
+#ifdef ZT_ENABLE_NETCONF_MASTER
+ {
+ std::string redisHost(RR->nc->getLocalConfig(ZT_LOCAL_CONFIG_NETCONF_REDIS_HOST));
+ if (redisHost.length() > 0) {
+ unsigned int redisPort = Utils::strToUInt(RR->nc->getLocalConfig(ZT_LOCAL_CONFIG_NETCONF_REDIS_PORT).c_str());
+ if ((redisPort == 0)||(redisPort > 0xffff))
+ redisPort = ZT_LOCAL_CONFIG_NETCONF_REDIS_PORT_DEFAULT;
+ std::string redisAuth(RR->nc->getLocalConfig(ZT_LOCAL_CONFIG_NETCONF_REDIS_AUTH));
+ std::string redisDatabaseNumberStr(RR->nc->getLocalConfig(ZT_LOCAL_CONFIG_NETCONF_REDIS_DBNUM));
+ unsigned int redisDatabaseNumber = (redisDatabaseNumberStr.length() > 0) ? Utils::strToUInt(redisDatabaseNumberStr.c_str()) : (unsigned int)ZT_LOCAL_CONFIG_NETCONF_REDIS_DBNUM_DEFAULT;
+ RR->netconfMaster = new NetworkConfigMaster(RR,redisHost.c_str(),redisPort,redisAuth.c_str(),redisDatabaseNumber);
+ }
+ }
+#endif
+
#ifdef ZT_AUTO_UPDATE
if (ZT_DEFAULTS.updateLatestNfoURL.length()) {
RR->updater = new SoftwareUpdater(RR);