diff --git a/lbrynet/dht/hashwatcher.py b/lbrynet/dht/hashwatcher.py deleted file mode 100644 index 37f8218fd..000000000 --- a/lbrynet/dht/hashwatcher.py +++ /dev/null @@ -1,33 +0,0 @@ -from collections import Counter -import datetime -from twisted.internet import task - - -class HashWatcher(object): - def __init__(self, clock=None): - if not clock: - from twisted.internet import reactor as clock - self.ttl = 600 - self.hashes = [] - self.lc = task.LoopingCall(self._remove_old_hashes) - self.lc.clock = clock - - def start(self): - return self.lc.start(10) - - def stop(self): - return self.lc.stop() - - def add_requested_hash(self, hashsum, contact): - from_ip = contact.compact_ip - matching_hashes = [h for h in self.hashes if h[0] == hashsum and h[2] == from_ip] - if len(matching_hashes) == 0: - self.hashes.append((hashsum, datetime.datetime.now(), from_ip)) - - def most_popular_hashes(self, num_to_return=10): - hash_counter = Counter([h[0] for h in self.hashes]) - return hash_counter.most_common(num_to_return) - - def _remove_old_hashes(self): - remove_time = datetime.datetime.now() - datetime.timedelta(minutes=10) - self.hashes = [h for h in self.hashes if h[1] < remove_time] diff --git a/lbrynet/dht/node.py b/lbrynet/dht/node.py index 7e088b152..7c48e8c31 100644 --- a/lbrynet/dht/node.py +++ b/lbrynet/dht/node.py @@ -25,7 +25,6 @@ import protocol from error import TimeoutError from peerfinder import DHTPeerFinder from contact import Contact -from hashwatcher import HashWatcher from distance import Distance @@ -137,8 +136,6 @@ class Node(object): self._routingTable.addContact(contact) self.externalIP = externalIP self.peerPort = peerPort - self.hash_watcher = HashWatcher(self.clock) - self.peer_manager = peer_manager or PeerManager() self.peer_finder = peer_finder or DHTPeerFinder(self, self.peer_manager) @@ -156,8 +153,6 @@ class Node(object): yield self.change_token_lc.stop() if self._listeningPort is not None: yield self._listeningPort.stopListening() - if self.hash_watcher.lc.running: - yield self.hash_watcher.stop() def start_listening(self): if not self._listeningPort: @@ -223,7 +218,6 @@ class Node(object): # Start refreshing k-buckets periodically, if necessary self.bootstrap_join(known_node_addresses or [], self._joinDeferred) yield self._joinDeferred - self.hash_watcher.start() self.change_token_lc.start(constants.tokenSecretChangeInterval) self.refresh_node_lc.start(constants.checkRefreshInterval) @@ -570,7 +564,6 @@ class Node(object): contact = kwargs['_rpcNodeContact'] compact_ip = contact.compact_ip() rval['token'] = self.make_token(compact_ip) - self.hash_watcher.add_requested_hash(key, contact) return rval def _generateID(self):