fix: use request_time for interface timeout

This commit is contained in:
ThomasV 2015-05-06 17:25:29 +02:00
parent 45fd3ef343
commit 8656785aa7
1 changed files with 3 additions and 3 deletions

View File

@ -62,7 +62,7 @@ class TcpInterface(threading.Thread):
self.request_queue = Queue.Queue() self.request_queue = Queue.Queue()
self.unanswered_requests = {} self.unanswered_requests = {}
# request timeouts # request timeouts
self.response_time = time.time() self.request_time = time.time()
self.ping_time = time.time() self.ping_time = time.time()
# parse server # parse server
self.server = server self.server = server
@ -249,6 +249,7 @@ class TcpInterface(threading.Thread):
def send_request(self, request, response_queue = None): def send_request(self, request, response_queue = None):
'''Queue a request. Blocking only if called from other threads.''' '''Queue a request. Blocking only if called from other threads.'''
self.request_time = time.time()
self.request_queue.put((request, response_queue), threading.current_thread() != self) self.request_queue.put((request, response_queue), threading.current_thread() != self)
def send_requests(self): def send_requests(self):
@ -285,7 +286,7 @@ class TcpInterface(threading.Thread):
self.send_request({'method':'server.version', 'params':[ELECTRUM_VERSION, PROTOCOL_VERSION]}) self.send_request({'method':'server.version', 'params':[ELECTRUM_VERSION, PROTOCOL_VERSION]})
self.ping_time = time.time() self.ping_time = time.time()
# stop interface if we have been waiting for more than 10 seconds # stop interface if we have been waiting for more than 10 seconds
if self.unanswered_requests and time.time() - self.response_time > 10: if self.unanswered_requests and time.time() - self.request_time > 10:
self.print_error("interface timeout", len(self.unanswered_requests)) self.print_error("interface timeout", len(self.unanswered_requests))
self.stop() self.stop()
@ -293,7 +294,6 @@ class TcpInterface(threading.Thread):
if self.is_connected(): if self.is_connected():
try: try:
response = self.pipe.get() response = self.pipe.get()
self.response_time = time.time()
except util.timeout: except util.timeout:
return return
# If remote side closed the socket, SocketPipe closes our socket and returns None # If remote side closed the socket, SocketPipe closes our socket and returns None