From 67c9921acec79037a917feeca34693ae11109945 Mon Sep 17 00:00:00 2001 From: shortcutme Date: Sat, 17 Sep 2016 21:01:16 +0200 Subject: [PATCH] Only add non-connected peers to publish if necessary --- src/Site/Site.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/Site/Site.py b/src/Site/Site.py index 704ce3f5..b3ac5c3f 100644 --- a/src/Site/Site.py +++ b/src/Site/Site.py @@ -454,10 +454,11 @@ class Site(object): random.shuffle(peers) peers = sorted(peers, key=lambda peer: peer.connection.handshake.get("rev", 0) < config.rev - 100) # Prefer newer clients - # Add more, non-connected peers - peers_more = self.peers.values() - random.shuffle(peers_more) - peers += peers_more[0:limit * 2] + # Add more, non-connected peers is necessary + if len(peers) < limit * 2: + peers_more = self.peers.values() + random.shuffle(peers_more) + peers += peers_more[0:limit * 2] 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