forked from LBRYCommunity/lbry-sdk
use utils.call_later in DHTHash Announcer
This commit is contained in:
parent
c27fe7af31
commit
3522f9af7d
2 changed files with 7 additions and 9 deletions
|
@ -3,14 +3,13 @@ import collections
|
||||||
import logging
|
import logging
|
||||||
import time
|
import time
|
||||||
|
|
||||||
from twisted.internet import defer, reactor
|
from twisted.internet import defer
|
||||||
|
from lbrynet.core import utils
|
||||||
|
|
||||||
log = logging.getLogger(__name__)
|
log = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
class DHTHashAnnouncer(object):
|
class DHTHashAnnouncer(object):
|
||||||
callLater = reactor.callLater
|
|
||||||
ANNOUNCE_CHECK_INTERVAL = 60
|
ANNOUNCE_CHECK_INTERVAL = 60
|
||||||
CONCURRENT_ANNOUNCERS = 5
|
CONCURRENT_ANNOUNCERS = 5
|
||||||
|
|
||||||
|
@ -26,7 +25,7 @@ class DHTHashAnnouncer(object):
|
||||||
def run_manage_loop(self):
|
def run_manage_loop(self):
|
||||||
if self.peer_port is not None:
|
if self.peer_port is not None:
|
||||||
self._announce_available_hashes()
|
self._announce_available_hashes()
|
||||||
self.next_manage_call = self.callLater(self.ANNOUNCE_CHECK_INTERVAL, self.run_manage_loop)
|
self.next_manage_call = utils.call_later(self.ANNOUNCE_CHECK_INTERVAL, self.run_manage_loop)
|
||||||
|
|
||||||
def stop(self):
|
def stop(self):
|
||||||
log.info("Stopping %s", self)
|
log.info("Stopping %s", self)
|
||||||
|
@ -79,7 +78,7 @@ class DHTHashAnnouncer(object):
|
||||||
log.debug('Announcing blob %s to dht', h)
|
log.debug('Announcing blob %s to dht', h)
|
||||||
d = self.dht_node.announceHaveBlob(binascii.unhexlify(h), self.peer_port)
|
d = self.dht_node.announceHaveBlob(binascii.unhexlify(h), self.peer_port)
|
||||||
d.chainDeferred(announce_deferred)
|
d.chainDeferred(announce_deferred)
|
||||||
d.addBoth(lambda _: self.callLater(0, announce))
|
d.addBoth(lambda _: utils.call_later(0, announce))
|
||||||
else:
|
else:
|
||||||
self._concurrent_announcers -= 1
|
self._concurrent_announcers -= 1
|
||||||
|
|
||||||
|
|
|
@ -2,9 +2,7 @@ import os
|
||||||
import binascii
|
import binascii
|
||||||
from twisted.trial import unittest
|
from twisted.trial import unittest
|
||||||
from twisted.internet import defer,task
|
from twisted.internet import defer,task
|
||||||
from lbrynet.core.server.DHTHashAnnouncer import DHTHashAnnouncer,DHTHashSupplier
|
from lbrynet.core import log_support, utils
|
||||||
from lbrynet.core.utils import random_string
|
|
||||||
from lbrynet.core import log_support
|
|
||||||
|
|
||||||
|
|
||||||
class MocDHTNode(object):
|
class MocDHTNode(object):
|
||||||
|
@ -35,8 +33,9 @@ class DHTHashAnnouncerTest(unittest.TestCase):
|
||||||
self.blobs_to_announce.append(binascii.b2a_hex(os.urandom(32)))
|
self.blobs_to_announce.append(binascii.b2a_hex(os.urandom(32)))
|
||||||
self.clock = task.Clock()
|
self.clock = task.Clock()
|
||||||
self.dht_node = MocDHTNode()
|
self.dht_node = MocDHTNode()
|
||||||
|
utils.call_later = self.clock.callLater
|
||||||
|
from lbrynet.core.server.DHTHashAnnouncer import DHTHashAnnouncer,DHTHashSupplier
|
||||||
self.announcer = DHTHashAnnouncer(self.dht_node, peer_port=3333)
|
self.announcer = DHTHashAnnouncer(self.dht_node, peer_port=3333)
|
||||||
self.announcer.callLater = self.clock.callLater
|
|
||||||
self.supplier = MocSupplier(self.blobs_to_announce)
|
self.supplier = MocSupplier(self.blobs_to_announce)
|
||||||
self.announcer.add_supplier(self.supplier)
|
self.announcer.add_supplier(self.supplier)
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue