Browse Source

Also send MULTICAST_LIKEs to controllers.

Adam Ierymenko 9 years ago
parent
commit
20278bb9e4
1 changed files with 7 additions and 0 deletions
  1. 7 0
      node/Network.cpp

+ 7 - 0
node/Network.cpp

@@ -1237,6 +1237,13 @@ void Network::_announceMulticastGroups(const MulticastGroup *const onlyThis)
 			}
 			}
 			_announceMulticastGroupsTo(*a,groups);
 			_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
 	// Make sure that all "network anchors" have Membership records so we will