Send discover request delayed on unknown peer discover request to allow the reponse arrive first
This commit is contained in:
parent
3028a8ebc9
commit
32d902d37f
1 changed files with 2 additions and 2 deletions
|
@ -33,6 +33,7 @@ class LocalAnnouncer(BroadcastServer.BroadcastServer):
|
||||||
|
|
||||||
def discover(self, force=False):
|
def discover(self, force=False):
|
||||||
self.log.debug("Sending discover request (force: %s)" % force)
|
self.log.debug("Sending discover request (force: %s)" % force)
|
||||||
|
self.last_discover = time.time()
|
||||||
if force: # Probably new site added, clean cache
|
if force: # Probably new site added, clean cache
|
||||||
self.known_peers = {}
|
self.known_peers = {}
|
||||||
|
|
||||||
|
@ -41,7 +42,6 @@ class LocalAnnouncer(BroadcastServer.BroadcastServer):
|
||||||
del(self.known_peers[peer_id])
|
del(self.known_peers[peer_id])
|
||||||
self.log.debug("Timeout, removing from known_peers: %s" % peer_id)
|
self.log.debug("Timeout, removing from known_peers: %s" % peer_id)
|
||||||
self.broadcast({"cmd": "discoverRequest", "params": {}}, port=self.listen_port)
|
self.broadcast({"cmd": "discoverRequest", "params": {}}, port=self.listen_port)
|
||||||
self.last_discover = time.time()
|
|
||||||
|
|
||||||
def actionDiscoverRequest(self, sender, params):
|
def actionDiscoverRequest(self, sender, params):
|
||||||
back = {
|
back = {
|
||||||
|
@ -53,7 +53,7 @@ class LocalAnnouncer(BroadcastServer.BroadcastServer):
|
||||||
|
|
||||||
if sender["peer_id"] not in self.known_peers:
|
if sender["peer_id"] not in self.known_peers:
|
||||||
self.log.debug("Got discover request from unknown peer %s, time to refresh known peers" % sender["ip"])
|
self.log.debug("Got discover request from unknown peer %s, time to refresh known peers" % sender["ip"])
|
||||||
self.discover()
|
gevent.spawn_later(1.0, self.discover) # Let the response arrive first to the requester
|
||||||
|
|
||||||
return back
|
return back
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue