Only add non-connected peers to publish if necessary

This commit is contained in:
shortcutme 2016-09-17 21:01:16 +02:00
parent 4690a111bf
commit 67c9921ace

View file

@ -454,10 +454,11 @@ class Site(object):
random.shuffle(peers) random.shuffle(peers)
peers = sorted(peers, key=lambda peer: peer.connection.handshake.get("rev", 0) < config.rev - 100) # Prefer newer clients peers = sorted(peers, key=lambda peer: peer.connection.handshake.get("rev", 0) < config.rev - 100) # Prefer newer clients
# Add more, non-connected peers # Add more, non-connected peers is necessary
peers_more = self.peers.values() if len(peers) < limit * 2:
random.shuffle(peers_more) peers_more = self.peers.values()
peers += peers_more[0:limit * 2] random.shuffle(peers_more)
peers += peers_more[0:limit * 2]
self.log.info("Publishing %s to %s/%s peers (connected: %s) diffs: %s (%.2fk)..." % ( self.log.info("Publishing %s to %s/%s peers (connected: %s) diffs: %s (%.2fk)..." % (
inner_path, limit, len(self.peers), num_connected_peers, diffs.keys(), float(len(str(diffs))) / 1024 inner_path, limit, len(self.peers), num_connected_peers, diffs.keys(), float(len(str(diffs))) / 1024