util: rm dead network code
This commit is contained in:
113
electrum/util.py
113
electrum/util.py
@@ -36,7 +36,9 @@ import inspect
|
|||||||
from locale import localeconv
|
from locale import localeconv
|
||||||
import asyncio
|
import asyncio
|
||||||
import urllib.request, urllib.parse, urllib.error
|
import urllib.request, urllib.parse, urllib.error
|
||||||
import queue
|
import builtins
|
||||||
|
import json
|
||||||
|
import time
|
||||||
|
|
||||||
import aiohttp
|
import aiohttp
|
||||||
from aiohttp_socks import SocksConnector, SocksVer
|
from aiohttp_socks import SocksConnector, SocksVer
|
||||||
@@ -743,7 +745,6 @@ def raw_input(prompt=None):
|
|||||||
sys.stdout.write(prompt)
|
sys.stdout.write(prompt)
|
||||||
return builtin_raw_input()
|
return builtin_raw_input()
|
||||||
|
|
||||||
import builtins
|
|
||||||
builtin_raw_input = builtins.input
|
builtin_raw_input = builtins.input
|
||||||
builtins.input = raw_input
|
builtins.input = raw_input
|
||||||
|
|
||||||
@@ -760,114 +761,6 @@ def parse_json(message):
|
|||||||
return j, message[n+1:]
|
return j, message[n+1:]
|
||||||
|
|
||||||
|
|
||||||
class timeout(Exception):
|
|
||||||
pass
|
|
||||||
|
|
||||||
import socket
|
|
||||||
import json
|
|
||||||
import ssl
|
|
||||||
import time
|
|
||||||
|
|
||||||
|
|
||||||
class SocketPipe:
|
|
||||||
def __init__(self, socket):
|
|
||||||
self.socket = socket
|
|
||||||
self.message = b''
|
|
||||||
self.set_timeout(0.1)
|
|
||||||
self.recv_time = time.time()
|
|
||||||
|
|
||||||
def set_timeout(self, t):
|
|
||||||
self.socket.settimeout(t)
|
|
||||||
|
|
||||||
def idle_time(self):
|
|
||||||
return time.time() - self.recv_time
|
|
||||||
|
|
||||||
def get(self):
|
|
||||||
while True:
|
|
||||||
response, self.message = parse_json(self.message)
|
|
||||||
if response is not None:
|
|
||||||
return response
|
|
||||||
try:
|
|
||||||
data = self.socket.recv(1024)
|
|
||||||
except socket.timeout:
|
|
||||||
raise timeout
|
|
||||||
except ssl.SSLError:
|
|
||||||
raise timeout
|
|
||||||
except socket.error as err:
|
|
||||||
if err.errno == 60:
|
|
||||||
raise timeout
|
|
||||||
elif err.errno in [11, 35, 10035]:
|
|
||||||
print_error("socket errno %d (resource temporarily unavailable)"% err.errno)
|
|
||||||
time.sleep(0.2)
|
|
||||||
raise timeout
|
|
||||||
else:
|
|
||||||
print_error("pipe: socket error", err)
|
|
||||||
data = b''
|
|
||||||
except:
|
|
||||||
traceback.print_exc(file=sys.stderr)
|
|
||||||
data = b''
|
|
||||||
|
|
||||||
if not data: # Connection closed remotely
|
|
||||||
return None
|
|
||||||
self.message += data
|
|
||||||
self.recv_time = time.time()
|
|
||||||
|
|
||||||
def send(self, request):
|
|
||||||
out = json.dumps(request) + '\n'
|
|
||||||
out = out.encode('utf8')
|
|
||||||
self._send(out)
|
|
||||||
|
|
||||||
def send_all(self, requests):
|
|
||||||
out = b''.join(map(lambda x: (json.dumps(x) + '\n').encode('utf8'), requests))
|
|
||||||
self._send(out)
|
|
||||||
|
|
||||||
def _send(self, out):
|
|
||||||
while out:
|
|
||||||
try:
|
|
||||||
sent = self.socket.send(out)
|
|
||||||
out = out[sent:]
|
|
||||||
except ssl.SSLError as e:
|
|
||||||
print_error("SSLError:", e)
|
|
||||||
time.sleep(0.1)
|
|
||||||
continue
|
|
||||||
|
|
||||||
|
|
||||||
class QueuePipe:
|
|
||||||
|
|
||||||
def __init__(self, send_queue=None, get_queue=None):
|
|
||||||
self.send_queue = send_queue if send_queue else queue.Queue()
|
|
||||||
self.get_queue = get_queue if get_queue else queue.Queue()
|
|
||||||
self.set_timeout(0.1)
|
|
||||||
|
|
||||||
def get(self):
|
|
||||||
try:
|
|
||||||
return self.get_queue.get(timeout=self.timeout)
|
|
||||||
except queue.Empty:
|
|
||||||
raise timeout
|
|
||||||
|
|
||||||
def get_all(self):
|
|
||||||
responses = []
|
|
||||||
while True:
|
|
||||||
try:
|
|
||||||
r = self.get_queue.get_nowait()
|
|
||||||
responses.append(r)
|
|
||||||
except queue.Empty:
|
|
||||||
break
|
|
||||||
return responses
|
|
||||||
|
|
||||||
def set_timeout(self, t):
|
|
||||||
self.timeout = t
|
|
||||||
|
|
||||||
def send(self, request):
|
|
||||||
self.send_queue.put(request)
|
|
||||||
|
|
||||||
def send_all(self, requests):
|
|
||||||
for request in requests:
|
|
||||||
self.send(request)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def setup_thread_excepthook():
|
def setup_thread_excepthook():
|
||||||
"""
|
"""
|
||||||
Workaround for `sys.excepthook` thread bug from:
|
Workaround for `sys.excepthook` thread bug from:
|
||||||
|
|||||||
Reference in New Issue
Block a user