remove hashwatcher
This commit is contained in:
parent
e4219b9cfc
commit
e6ffd7caf8
2 changed files with 0 additions and 40 deletions
|
@ -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]
|
|
@ -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):
|
||||
|
|
Loading…
Reference in a new issue