A little bit more controller code cleanup.

This commit is contained in:
Adam Ierymenko 2016-08-25 16:25:28 -07:00
parent b5e0d014ab
commit df1ce856c9

View file

@ -1606,18 +1606,20 @@ void EmbeddedNetworkController::_circuitTestCallback(ZT_Node *node,ZT_CircuitTes
void EmbeddedNetworkController::_getNetworkMemberInfo(uint64_t now,uint64_t nwid,_NetworkMemberInfo &nmi) void EmbeddedNetworkController::_getNetworkMemberInfo(uint64_t now,uint64_t nwid,_NetworkMemberInfo &nmi)
{ {
Mutex::Lock _mcl(_networkMemberCache_m); Mutex::Lock _mcl(_networkMemberCache_m);
auto memberCacheEntry = _networkMemberCache[nwid]; std::map< Address,nlohmann::json > &memberCacheEntry = _networkMemberCache[nwid];
nmi.totalMemberCount = memberCacheEntry.size(); 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)) { if (_jB(nm->second["authorized"],false)) {
++nmi.authorizedMemberCount; ++nmi.authorizedMemberCount;
auto mlog = nm->second["recentLog"]; if (nm->second.count("recentLog")) {
if ((mlog.is_array())&&(mlog.size() > 0)) { json &mlog = nm->second["recentLog"];
auto mlog1 = mlog[0]; if ((mlog.is_array())&&(mlog.size() > 0)) {
if (mlog1.is_object()) { json &mlog1 = mlog[0];
if ((now - _jI(mlog1["ts"],0ULL)) < ZT_NETCONF_NODE_ACTIVE_THRESHOLD) if (mlog1.is_object()) {
++nmi.activeMemberCount; 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); nmi.activeBridges.insert(nm->first);
} }
auto mips = nm->second["ipAssignments"]; if (nm->second.count("ipAssignments")) {
if (mips.is_array()) { json &mips = nm->second["ipAssignments"];
for(unsigned long i=0;i<mips.size();++i) { if (mips.is_array()) {
InetAddress mip(_jS(mips[i],"")); for(unsigned long i=0;i<mips.size();++i) {
if ((mip.ss_family == AF_INET)||(mip.ss_family == AF_INET6)) InetAddress mip(_jS(mips[i],""));
nmi.allocatedIps.insert(mip); if ((mip.ss_family == AF_INET)||(mip.ss_family == AF_INET6))
nmi.allocatedIps.insert(mip);
}
} }
} }
} else { } else {