sync_get
This commit is contained in:
parent
b14e20adfa
commit
268a099f87
|
@ -598,6 +598,22 @@ class Interface(threading.Thread):
|
||||||
self.queue.put(self)
|
self.queue.put(self)
|
||||||
|
|
||||||
|
|
||||||
|
def synchronous_get(self, requests, timeout=100000000):
|
||||||
|
queue = Queue.Queue()
|
||||||
|
ids = self.send(requests, lambda i,r: queue.put(r))
|
||||||
|
id2 = ids[:]
|
||||||
|
res = {}
|
||||||
|
while ids:
|
||||||
|
r = queue.get(True, timeout)
|
||||||
|
_id = r.get('id')
|
||||||
|
if _id in ids:
|
||||||
|
ids.remove(_id)
|
||||||
|
res[_id] = r.get('result')
|
||||||
|
out = []
|
||||||
|
for _id in id2:
|
||||||
|
out.append(res[_id])
|
||||||
|
return out
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
|
||||||
|
|
|
@ -368,20 +368,8 @@ class Network(threading.Thread):
|
||||||
|
|
||||||
|
|
||||||
def synchronous_get(self, requests, timeout=100000000):
|
def synchronous_get(self, requests, timeout=100000000):
|
||||||
queue = Queue.Queue()
|
return self.interface.synchronous_get(requests)
|
||||||
ids = self.interface.send(requests, lambda i,r: queue.put(r))
|
|
||||||
id2 = ids[:]
|
|
||||||
res = {}
|
|
||||||
while ids:
|
|
||||||
r = queue.get(True, timeout)
|
|
||||||
_id = r.get('id')
|
|
||||||
if _id in ids:
|
|
||||||
ids.remove(_id)
|
|
||||||
res[_id] = r.get('result')
|
|
||||||
out = []
|
|
||||||
for _id in id2:
|
|
||||||
out.append(res[_id])
|
|
||||||
return out
|
|
||||||
|
|
||||||
|
|
||||||
#def retrieve_transaction(self, tx_hash, tx_height=0):
|
#def retrieve_transaction(self, tx_hash, tx_height=0):
|
||||||
|
|
Loading…
Reference in New Issue