summaryrefslogtreecommitdiff
path: root/node/Multicaster.cpp
diff options
context:
space:
mode:
authorAdam Ierymenko <adam.ierymenko@gmail.com>2014-10-02 13:50:37 -0700
committerAdam Ierymenko <adam.ierymenko@gmail.com>2014-10-02 13:50:37 -0700
commit110904678275be6e26415c44ebdeee61ffa93edf (patch)
tree101fe5e85305834ed575a2dfeaac76397fd336ef /node/Multicaster.cpp
parent49dc47ff38ff27fd8f846a4a6354a60423376671 (diff)
downloadinfinitytier-110904678275be6e26415c44ebdeee61ffa93edf.tar.gz
infinitytier-110904678275be6e26415c44ebdeee61ffa93edf.zip
Last steps before test: parse OK(MULTICAST_GATHER) and OK(MULTICAST_FRAME)
Diffstat (limited to 'node/Multicaster.cpp')
-rw-r--r--node/Multicaster.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/node/Multicaster.cpp b/node/Multicaster.cpp
index 8e3e3e29..cca9d035 100644
--- a/node/Multicaster.cpp
+++ b/node/Multicaster.cpp
@@ -252,8 +252,10 @@ void Multicaster::_add(uint64_t now,uint64_t nwid,MulticastGroupStatus &gs,const
// Update timestamp and learnedFrom if existing
for(std::vector<MulticastGroupMember>::iterator m(gs.members.begin());m!=gs.members.end();++m) {
if (m->address == member) {
+ // learnedFrom is NULL (zero) if we've learned this directly via MULTICAST_LIKE, at which
+ // point this becomes a first-order connection.
if (m->learnedFrom)
- m->learnedFrom = learnedFrom; // only update with indirect learnedFrom if we've never directly learned from this peer
+ m->learnedFrom = learnedFrom;
m->timestamp = now;
return;
}