throttle send_requests
This commit is contained in:
parent
0b4f64a7b9
commit
d61ccd4275
|
@ -258,19 +258,20 @@ class Interface(util.PrintError):
|
||||||
self.unsent_requests.append(args)
|
self.unsent_requests.append(args)
|
||||||
|
|
||||||
def send_requests(self):
|
def send_requests(self):
|
||||||
'''Sends all queued requests. Returns False on failure.'''
|
'''Sends queued requests. Returns False on failure.'''
|
||||||
make_dict = lambda (m, p, i): {'method': m, 'params': p, 'id': i}
|
make_dict = lambda (m, p, i): {'method': m, 'params': p, 'id': i}
|
||||||
wire_requests = map(make_dict, self.unsent_requests)
|
n = 100 - len(self.unanswered_requests)
|
||||||
|
wire_requests = self.unsent_requests[0:n]
|
||||||
try:
|
try:
|
||||||
self.pipe.send_all(wire_requests)
|
self.pipe.send_all(map(make_dict, wire_requests))
|
||||||
except socket.error, e:
|
except socket.error, e:
|
||||||
self.print_error("socket error:", e)
|
self.print_error("socket error:", e)
|
||||||
return False
|
return False
|
||||||
for request in self.unsent_requests:
|
self.unsent_requests = self.unsent_requests[n:]
|
||||||
|
for request in wire_requests:
|
||||||
if self.debug:
|
if self.debug:
|
||||||
self.print_error("-->", request)
|
self.print_error("-->", request)
|
||||||
self.unanswered_requests[request[2]] = request
|
self.unanswered_requests[request[2]] = request
|
||||||
self.unsent_requests = []
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def ping_required(self):
|
def ping_required(self):
|
||||||
|
|
|
@ -774,6 +774,8 @@ class Abstract_Wallet(PrintError):
|
||||||
from util import format_time
|
from util import format_time
|
||||||
if conf == 0:
|
if conf == 0:
|
||||||
tx = self.transactions.get(tx_hash)
|
tx = self.transactions.get(tx_hash)
|
||||||
|
if not tx:
|
||||||
|
return 3, 'unknown'
|
||||||
is_final = tx and tx.is_final()
|
is_final = tx and tx.is_final()
|
||||||
fee = self.tx_fees.get(tx_hash)
|
fee = self.tx_fees.get(tx_hash)
|
||||||
if fee and self.network and self.network.dynfee(0):
|
if fee and self.network and self.network.dynfee(0):
|
||||||
|
|
Loading…
Reference in New Issue