def make_request(self, method, params):
request = self.encode_rpc_request(method, params)
with get_ipc_socket(self.ipc_path) as sock:
sock.sendall(request)
response_raw = b""
with gevent.Timeout(10):
while True:
try:
response_raw += sock.recv(4096)
except socket.timeout:
gevent.sleep(0)
continue
if response_raw == b"":
gevent.sleep(0)
else:
try:
json.loads(force_text(response_raw))
except JSONDecodeError:
gevent.sleep(0)
continue
else:
break
return response_raw
评论列表
文章目录