Browse Source

network: don't store unanswered request if result is in cache

283
ThomasV 10 years ago
parent
commit
e33bc2473b
  1. 4
      lib/daemon.py
  2. 5
      lib/network.py

4
lib/daemon.py

@ -115,7 +115,7 @@ class NetworkServer(util.DaemonThread):
def __init__(self, config):
util.DaemonThread.__init__(self)
self.debug = False
self.debug = 1
self.config = config
self.network = Network(config)
# network sends responses on that queue
@ -130,7 +130,7 @@ class NetworkServer(util.DaemonThread):
self.requests = {}
def add_client(self, client):
for key in ['status','banner','updated','servers','interfaces']:
for key in ['status', 'banner', 'updated', 'servers', 'interfaces']:
value = self.network.get_status_value(key)
client.response_queue.put({'method':'network.status', 'params':[key, value]})
with self.lock:

5
lib/network.py

@ -461,8 +461,6 @@ class Network(util.DaemonThread):
self.response_queue.put(out)
return
# store request
self.unanswered_requests[_id] = request
if method == 'blockchain.address.subscribe':
addr = params[0]
self.subscribed_addresses.add(addr)
@ -470,6 +468,9 @@ class Network(util.DaemonThread):
self.response_queue.put({'id':_id, 'result':self.addr_responses[addr]})
return
# store unanswered request
self.unanswered_requests[_id] = request
try:
self.interface.send_request(request)
except:

Loading…
Cancel
Save