summaryrefslogtreecommitdiff
path: root/node/Node.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'node/Node.hpp')
-rw-r--r--node/Node.hpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/node/Node.hpp b/node/Node.hpp
index 11462531..ddc52651 100644
--- a/node/Node.hpp
+++ b/node/Node.hpp
@@ -267,17 +267,19 @@ public:
}
/**
- * Check whether a given packet ID is something we are expecting a reply to
+ * Check whether a given packet ID is something we are expecting a reply to (and erase from list)
*
* @param packetId Packet ID to check
* @return True if we're expecting a reply
*/
- inline bool expectingReplyTo(const uint64_t packetId) const
+ inline bool expectingReplyTo(const uint64_t packetId)
{
const unsigned long bucket = (unsigned long)(packetId & ZT_EXPECTING_REPLIES_BUCKET_MASK1);
for(unsigned long i=0;i<=ZT_EXPECTING_REPLIES_BUCKET_MASK2;++i) {
- if (_expectingRepliesTo[bucket][i] == packetId)
+ if (_expectingRepliesTo[bucket][i] == packetId) {
+ _expectingRepliesTo[bucket][i] = 0;
return true;
+ }
}
return false;
}