コード例 #1
0
ファイル: DHTHashAnnouncer.py プロジェクト: zhilinwww/lbry
 def announce():
     if len(self.hash_queue):
         h, announce_deferred = self.hash_queue.popleft()
         log.debug('Announcing blob %s to dht', h)
         d = self.dht_node.announceHaveBlob(binascii.unhexlify(h))
         d.chainDeferred(announce_deferred)
         d.addBoth(lambda _: utils.call_later(0, announce))
     else:
         self._concurrent_announcers -= 1
コード例 #2
0
 def announce():
     if len(self.hash_queue):
         h, announce_deferred = self.hash_queue.popleft()
         log.debug('Announcing blob %s to dht', h)
         d = self.dht_node.announceHaveBlob(binascii.unhexlify(h))
         d.chainDeferred(announce_deferred)
         d.addBoth(lambda _: utils.call_later(0, announce))
     else:
         self._concurrent_announcers -= 1
コード例 #3
0
ファイル: ConnectionManager.py プロジェクト: zhilinwww/lbry
 def manage(self, schedule_next_call=True):
     self._manage_deferred = defer.Deferred()
     if len(self._peer_connections) < self.max_connections_per_stream:
         log.debug("%s have %d connections, looking for %d",
                     self._get_log_name(), len(self._peer_connections),
                     self.max_connections_per_stream)
         peers = yield self._get_new_peers()
         for peer in peers:
             self._connect_to_peer(peer)
     self._manage_deferred.callback(None)
     self._manage_deferred = None
     if not self.stopped and schedule_next_call:
         self._next_manage_call = utils.call_later(self.MANAGE_CALL_INTERVAL_SEC, self.manage)
コード例 #4
0
 def manage(self, schedule_next_call=True):
     self._manage_deferred = defer.Deferred()
     if len(self._peer_connections) < self.max_connections_per_stream:
         log.debug("%s have %d connections, looking for %d",
                   self._get_log_name(), len(self._peer_connections),
                   self.max_connections_per_stream)
         peers = yield self._get_new_peers()
         for peer in peers:
             self._connect_to_peer(peer)
     self._manage_deferred.callback(None)
     self._manage_deferred = None
     if not self.stopped and schedule_next_call:
         self._next_manage_call = utils.call_later(
             self.MANAGE_CALL_INTERVAL_SEC, self.manage)
コード例 #5
0
 def manage(self, schedule_next_call=True):
     self._manage_deferred = defer.Deferred()
     if len(self._peer_connections) < conf.settings['max_connections_per_stream']:
         log.debug("%s have %d connections, looking for %d",
                     self._get_log_name(), len(self._peer_connections),
                     conf.settings['max_connections_per_stream'])
         ordered_request_creators = self._rank_request_creator_connections()
         peers = yield self._get_new_peers(ordered_request_creators)
         peer = self._pick_best_peer(peers)
         self._connect_to_peer(peer)
     self._manage_deferred.callback(None)
     self._manage_deferred = None
     if not self.stopped and schedule_next_call:
         self._next_manage_call = utils.call_later(self.MANAGE_CALL_INTERVAL_SEC, self.manage)
コード例 #6
0
 def start(self):
     log.debug("%s starting", self._get_log_name())
     self._start()
     self._next_manage_call = utils.call_later(0, self.manage)
     return defer.succeed(True)
コード例 #7
0
 def run_manage_loop(self):
     if self.peer_port is not None:
         self._announce_available_hashes()
     self.next_manage_call = utils.call_later(self.ANNOUNCE_CHECK_INTERVAL,
                                              self.run_manage_loop)
コード例 #8
0
ファイル: ConnectionManager.py プロジェクト: zhilinwww/lbry
 def start(self):
     log.debug("%s starting", self._get_log_name())
     self._start()
     self._next_manage_call = utils.call_later(0, self.manage)
     return defer.succeed(True)
コード例 #9
0
ファイル: DHTHashAnnouncer.py プロジェクト: zhilinwww/lbry
 def run_manage_loop(self):
     if self.peer_port is not None:
         self._announce_available_hashes()
     self.next_manage_call = utils.call_later(self.ANNOUNCE_CHECK_INTERVAL, self.run_manage_loop)