summaryrefslogtreecommitdiff
path: root/node
diff options
context:
space:
mode:
authorMoritz Warning <moritzwarning@web.de>2015-06-20 16:32:48 +0200
committerMoritz Warning <moritzwarning@web.de>2015-06-20 16:34:19 +0200
commit787608b5683eb5df2a8ca0d365438234b5497c60 (patch)
tree4abfae78ccfdfca2b62e8584db03ca76d206ef78 /node
parent2b04ac5e9b8be8bd1cc1263755a55a579f28009e (diff)
downloadinfinitytier-787608b5683eb5df2a8ca0d365438234b5497c60.tar.gz
infinitytier-787608b5683eb5df2a8ca0d365438234b5497c60.zip
use _network function to reduce source code complexity
Diffstat (limited to 'node')
-rw-r--r--node/Node.cpp10
-rw-r--r--node/Node.hpp17
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;