diff options
author | Adam Ierymenko <adam.ierymenko@gmail.com> | 2015-11-09 18:01:23 -0800 |
---|---|---|
committer | Adam Ierymenko <adam.ierymenko@gmail.com> | 2015-11-09 18:01:23 -0800 |
commit | 32ec378e3b5e9c584d45c7316142c73c362dd032 (patch) | |
tree | e1986cf92feb930753290e1970444beb33459626 /node/Cluster.cpp | |
parent | 2cc50bdb10c0a7849763ae1dfa37ca7707299a16 (diff) | |
download | infinitytier-32ec378e3b5e9c584d45c7316142c73c362dd032.tar.gz infinitytier-32ec378e3b5e9c584d45c7316142c73c362dd032.zip |
Announce that we have peers on the cluster when we first see them to improve startup times, and add a result crunching script to tests/http.
Diffstat (limited to 'node/Cluster.cpp')
-rw-r--r-- | node/Cluster.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/node/Cluster.cpp b/node/Cluster.cpp index a819372e..ab074b6d 100644 --- a/node/Cluster.cpp +++ b/node/Cluster.cpp @@ -363,6 +363,17 @@ void Cluster::handleIncomingStateMessage(const void *msg,unsigned int len) } } +void Cluster::broadcastHavePeer(const Identity &id) +{ + Buffer<1024> buf; + id.serialize(buf); + Mutex::Lock _l(_memberIds_m); + for(std::vector<uint16_t>::const_iterator mid(_memberIds.begin());mid!=_memberIds.end();++mid) { + Mutex::Lock _l2(_members[*mid].lock); + _send(*mid,CLUSTER_MESSAGE_HAVE_PEER,buf.data(),buf.size()); + } +} + void Cluster::sendViaCluster(const Address &fromPeerAddress,const Address &toPeerAddress,const void *data,unsigned int len,bool unite) { if (len > ZT_PROTO_MAX_PACKET_LENGTH) // sanity check |