summaryrefslogtreecommitdiff
path: root/controller
diff options
context:
space:
mode:
authorAdam Ierymenko <adam.ierymenko@gmail.com>2016-08-25 16:25:28 -0700
committerAdam Ierymenko <adam.ierymenko@gmail.com>2016-08-25 16:25:28 -0700
commitdf1ce856c9d3acd2333618870f06e7e82feac2bf (patch)
treea3243c0dffe056b7077095e6fc0aa283cd6c2049 /controller
parentb5e0d014ab7fc96f8ebc3444cc1d2f3f0648c66f (diff)
downloadinfinitytier-df1ce856c9d3acd2333618870f06e7e82feac2bf.tar.gz
infinitytier-df1ce856c9d3acd2333618870f06e7e82feac2bf.zip
A little bit more controller code cleanup.
Diffstat (limited to 'controller')
-rw-r--r--controller/EmbeddedNetworkController.cpp32
1 files changed, 18 insertions, 14 deletions
diff --git a/controller/EmbeddedNetworkController.cpp b/controller/EmbeddedNetworkController.cpp
index 23514448..7a599d44 100644
--- a/controller/EmbeddedNetworkController.cpp
+++ b/controller/EmbeddedNetworkController.cpp
@@ -1606,18 +1606,20 @@ void EmbeddedNetworkController::_circuitTestCallback(ZT_Node *node,ZT_CircuitTes
void EmbeddedNetworkController::_getNetworkMemberInfo(uint64_t now,uint64_t nwid,_NetworkMemberInfo &nmi)
{
Mutex::Lock _mcl(_networkMemberCache_m);
- auto memberCacheEntry = _networkMemberCache[nwid];
+ std::map< Address,nlohmann::json > &memberCacheEntry = _networkMemberCache[nwid];
nmi.totalMemberCount = memberCacheEntry.size();
- for(std::map< Address,nlohmann::json >::const_iterator nm(memberCacheEntry.begin());nm!=memberCacheEntry.end();++nm) {
+ for(std::map< Address,nlohmann::json >::iterator nm(memberCacheEntry.begin());nm!=memberCacheEntry.end();++nm) {
if (_jB(nm->second["authorized"],false)) {
++nmi.authorizedMemberCount;
- auto mlog = nm->second["recentLog"];
- if ((mlog.is_array())&&(mlog.size() > 0)) {
- auto mlog1 = mlog[0];
- if (mlog1.is_object()) {
- if ((now - _jI(mlog1["ts"],0ULL)) < ZT_NETCONF_NODE_ACTIVE_THRESHOLD)
- ++nmi.activeMemberCount;
+ if (nm->second.count("recentLog")) {
+ json &mlog = nm->second["recentLog"];
+ if ((mlog.is_array())&&(mlog.size() > 0)) {
+ json &mlog1 = mlog[0];
+ if (mlog1.is_object()) {
+ if ((now - _jI(mlog1["ts"],0ULL)) < ZT_NETCONF_NODE_ACTIVE_THRESHOLD)
+ ++nmi.activeMemberCount;
+ }
}
}
@@ -1625,12 +1627,14 @@ void EmbeddedNetworkController::_getNetworkMemberInfo(uint64_t now,uint64_t nwid
nmi.activeBridges.insert(nm->first);
}
- auto mips = nm->second["ipAssignments"];
- if (mips.is_array()) {
- for(unsigned long i=0;i<mips.size();++i) {
- InetAddress mip(_jS(mips[i],""));
- if ((mip.ss_family == AF_INET)||(mip.ss_family == AF_INET6))
- nmi.allocatedIps.insert(mip);
+ if (nm->second.count("ipAssignments")) {
+ json &mips = nm->second["ipAssignments"];
+ if (mips.is_array()) {
+ for(unsigned long i=0;i<mips.size();++i) {
+ InetAddress mip(_jS(mips[i],""));
+ if ((mip.ss_family == AF_INET)||(mip.ss_family == AF_INET6))
+ nmi.allocatedIps.insert(mip);
+ }
}
}
} else {