diff options
| author | Moritz Warning <moritzwarning@web.de> | 2015-06-20 16:32:48 +0200 |
|---|---|---|
| committer | Moritz Warning <moritzwarning@web.de> | 2015-06-20 16:34:19 +0200 |
| commit | 787608b5683eb5df2a8ca0d365438234b5497c60 (patch) | |
| tree | 4abfae78ccfdfca2b62e8584db03ca76d206ef78 /node | |
| parent | 2b04ac5e9b8be8bd1cc1263755a55a579f28009e (diff) | |
| download | infinitytier-787608b5683eb5df2a8ca0d365438234b5497c60.tar.gz infinitytier-787608b5683eb5df2a8ca0d365438234b5497c60.zip | |
use _network function to reduce source code complexity
Diffstat (limited to 'node')
| -rw-r--r-- | node/Node.cpp | 10 | ||||
| -rw-r--r-- | node/Node.hpp | 17 |
2 files changed, 16 insertions, 11 deletions
diff --git a/node/Node.cpp b/node/Node.cpp index 8e00071f..1dbb6d19 100644 --- a/node/Node.cpp +++ b/node/Node.cpp @@ -311,8 +311,8 @@ ZT1_ResultCode Node::processBackgroundTasks(uint64_t now,volatile uint64_t *next ZT1_ResultCode Node::join(uint64_t nwid) { Mutex::Lock _l(_networks_m); - std::vector< SharedPtr<Network> >::const_iterator nwi = std::lower_bound(_networks.begin(), _networks.end(), nwid, NetworkComparator()); - if(nwi == _networks.end() || (*nwi)->id() != nwid) { + SharedPtr<Network> nw = _network(nwid); + if(!nw) { _networks.push_back(SharedPtr<Network>(new Network(RR,nwid))); std::sort(_networks.begin(),_networks.end()); } @@ -412,10 +412,10 @@ ZT1_PeerList *Node::peers() const ZT1_VirtualNetworkConfig *Node::networkConfig(uint64_t nwid) const { Mutex::Lock _l(_networks_m); - std::vector< SharedPtr<Network> >::const_iterator nwi = std::lower_bound(_networks.begin(), _networks.end(), nwid, NetworkComparator()); - if(nwi != _networks.end() && (*nwi)->id() == nwid) { + SharedPtr<Network> nw = _network(nwid); + if(nw) { ZT1_VirtualNetworkConfig *nc = (ZT1_VirtualNetworkConfig *)::malloc(sizeof(ZT1_VirtualNetworkConfig)); - (*nwi)->externalConfig(nc); + nw->externalConfig(nc); return nc; } return (ZT1_VirtualNetworkConfig *)0; diff --git a/node/Node.hpp b/node/Node.hpp index 6ef306eb..b0f4ab22 100644 --- a/node/Node.hpp +++ b/node/Node.hpp @@ -158,12 +158,7 @@ public: inline SharedPtr<Network> network(uint64_t nwid) const { Mutex::Lock _l(_networks_m); - std::vector< SharedPtr<Network> >::const_iterator iter = std::lower_bound(_networks.begin(), _networks.end(), nwid, NetworkComparator()); - if(iter != _networks.end() && (*iter)->id() == nwid) { - return *iter; - } else { - return SharedPtr<Network>(); - } + return _network(nwid); } inline std::vector< SharedPtr<Network> > allNetworks() const @@ -217,6 +212,16 @@ private: } }; + inline SharedPtr<Network> _network(uint64_t nwid) const + { + std::vector< SharedPtr<Network> >::const_iterator iter = std::lower_bound(_networks.begin(), _networks.end(), nwid, NetworkComparator()); + if(iter != _networks.end() && (*iter)->id() == nwid) { + return *iter; + } else { + return SharedPtr<Network>(); + } + } + RuntimeEnvironment _RR; RuntimeEnvironment *RR; |
