AnnounceShare: Shuffle both sent and received tracker lists for the more uniform filling of per-protocol buckets.

This commit is contained in:
Vadim Ushakov 2019-07-04 00:24:50 +07:00
parent 209bf62be8
commit d3a51dd0c7

View file

@ -1,3 +1,4 @@
import random
import time
import os
import logging
@ -260,6 +261,8 @@ class TrackerStorage(object):
continue
num_success += 1
random.shuffle(res["trackers"])
for tracker_address in res["trackers"]:
if type(tracker_address) is bytes: # Backward compatibilitys
tracker_address = tracker_address.decode("utf8")
@ -310,6 +313,7 @@ class SiteAnnouncerPlugin(object):
class FileRequestPlugin(object):
def actionGetTrackers(self, params):
shared_trackers = list(tracker_storage.getWorkingTrackers("shared").keys())
random.shuffle(shared_trackers)
self.response({"trackers": shared_trackers})