Also exclude upstream when picking supernode for multicast propagation, to not bounce back and forth to the same supernode.

This commit is contained in:
Adam Ierymenko 2013-07-15 08:00:15 -04:00
parent 1d36ea8ddf
commit a6f4de8172

View File

@ -263,7 +263,10 @@ public:
// Add a supernode if there are fewer than the desired
// number of recipients.
if (chosen < max) {
P peer = topology.getBestSupernode(&originalSubmitter,1,true);
Address avoid[2];
avoid[0] = originalSubmitter;
avoid[1] = upstream;
P peer = topology.getBestSupernode(avoid,2,true);
if (peer)
peers[chosen++] = peer;
}