diff options
| author | Adam Ierymenko <adam.ierymenko@gmail.com> | 2016-09-07 15:34:34 -0700 |
|---|---|---|
| committer | Adam Ierymenko <adam.ierymenko@gmail.com> | 2016-09-07 15:34:34 -0700 |
| commit | 20278bb9e47ec0cc16619d281224473f90f7b048 (patch) | |
| tree | 60d8979295a2b09bd2cf432855d6559c88dbfc8c /node | |
| parent | c7a4da3dd3bb429b5d2f69373388b3b22a6544cb (diff) | |
| download | infinitytier-20278bb9e47ec0cc16619d281224473f90f7b048.tar.gz infinitytier-20278bb9e47ec0cc16619d281224473f90f7b048.zip | |
Also send MULTICAST_LIKEs to controllers.
Diffstat (limited to 'node')
| -rw-r--r-- | node/Network.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/node/Network.cpp b/node/Network.cpp index 7c2a4084..4fd88f67 100644 --- a/node/Network.cpp +++ b/node/Network.cpp @@ -1237,6 +1237,13 @@ void Network::_announceMulticastGroups(const MulticastGroup *const onlyThis) } _announceMulticastGroupsTo(*a,groups); } + + // Announce to controller, which does not need our COM since it obviously + // knows if we are a member. Of course if we already did or are going to + // below then we can skip it here. + const Address c(controller()); + if ( (std::find(upstreams.begin(),upstreams.end(),c) == upstreams.end()) && (!_memberships.contains(c)) ) + _announceMulticastGroupsTo(c,groups); } // Make sure that all "network anchors" have Membership records so we will |
