|
|
|
|
@ -192,7 +192,7 @@ void Multicaster::send(
|
|
|
|
|
nwid, |
|
|
|
|
com, |
|
|
|
|
limit, |
|
|
|
|
2, // we'll still gather a little from peers to keep multicast list fresh
|
|
|
|
|
1, // we'll still gather a little from peers to keep multicast list fresh
|
|
|
|
|
src, |
|
|
|
|
mg, |
|
|
|
|
etherType, |
|
|
|
|
@ -214,7 +214,7 @@ void Multicaster::send(
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
unsigned long idx = 0; |
|
|
|
|
while (count < limit) { |
|
|
|
|
while (count < limit) { // limit <= gs.members.size() so idx will never overflow here
|
|
|
|
|
const MulticastGroupMember &m = gs.members[indexes[idx++]]; |
|
|
|
|
|
|
|
|
|
{ // TODO / LEGACY: don't send new multicast frame to old peers (if we know their version)
|
|
|
|
|
@ -246,7 +246,7 @@ void Multicaster::send(
|
|
|
|
|
outp.armor(sn->key(),true); |
|
|
|
|
sn->send(RR,outp.data(),outp.size(),now); |
|
|
|
|
} |
|
|
|
|
gatherLimit = 0; // don't need to gather from peers this time since we consulted the core
|
|
|
|
|
gatherLimit = 1; // we still gather a bit from peers as well
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
gs.txQueue.push_back(OutboundMulticast()); |
|
|
|
|
|