summaryrefslogtreecommitdiff
path: root/node
diff options
context:
space:
mode:
authorAdam Ierymenko <adam.ierymenko@gmail.com>2016-09-06 15:06:07 -0700
committerAdam Ierymenko <adam.ierymenko@gmail.com>2016-09-06 15:06:07 -0700
commitf2d2df2b112c8a644b718abc521af296a83b5337 (patch)
treee0ba48598b92c422b48585a1c6eed385875195da /node
parent48a374c82c89b69a71d1922c4396265394e9045f (diff)
downloadinfinitytier-f2d2df2b112c8a644b718abc521af296a83b5337.tar.gz
infinitytier-f2d2df2b112c8a644b718abc521af296a83b5337.zip
Cluster build fix.
Diffstat (limited to 'node')
-rw-r--r--node/Cluster.cpp2
-rw-r--r--node/Peer.cpp2
-rw-r--r--node/Peer.hpp4
3 files changed, 4 insertions, 4 deletions
diff --git a/node/Cluster.cpp b/node/Cluster.cpp
index 933bfb37..2a261e51 100644
--- a/node/Cluster.cpp
+++ b/node/Cluster.cpp
@@ -361,7 +361,7 @@ void Cluster::handleIncomingStateMessage(const void *msg,unsigned int len)
case CLUSTER_MESSAGE_WANT_PEER: {
const Address zeroTierAddress(dmsg.field(ptr,ZT_ADDRESS_LENGTH),ZT_ADDRESS_LENGTH); ptr += ZT_ADDRESS_LENGTH;
SharedPtr<Peer> peer(RR->topology->getPeerNoCache(zeroTierAddress));
- if ( (peer) && (peer->hasClusterOptimalPath(RR->node->now())) ) {
+ if ( (peer) && (peer->hasLocalClusterOptimalPath(RR->node->now())) ) {
Buffer<1024> buf;
peer->identity().serialize(buf);
Mutex::Lock _l2(_members[fromMemberId].lock);
diff --git a/node/Peer.cpp b/node/Peer.cpp
index c56dbca9..abbbea72 100644
--- a/node/Peer.cpp
+++ b/node/Peer.cpp
@@ -175,7 +175,7 @@ void Peer::received(
_paths[slot].lastReceive = now;
_paths[slot].path = path;
#ifdef ZT_ENABLE_CLUSTER
- _paths[p].localClusterSuboptimal = suboptimalPath;
+ _paths[slot].localClusterSuboptimal = suboptimalPath;
if (RR->cluster)
RR->cluster->broadcastHavePeer(_id);
#endif
diff --git a/node/Peer.hpp b/node/Peer.hpp
index cd08e2d7..3ffabb05 100644
--- a/node/Peer.hpp
+++ b/node/Peer.hpp
@@ -289,10 +289,10 @@ public:
* @param now Current time
* @return True if this peer has at least one active direct path that is not cluster-suboptimal
*/
- inline bool hasClusterOptimalPath(uint64_t now) const
+ inline bool hasLocalClusterOptimalPath(uint64_t now) const
{
for(unsigned int p=0,np=_numPaths;p<np;++p) {
- if ( (_paths[p].path->alive(now)) && ((_paths[p].clusterWeights & 1) != 0) )
+ if ( (_paths[p].path->alive(now)) && (!_paths[p].localClusterSuboptimal) )
return true;
}
return false;