Browse Source

pylightning: Increase buffer size for big JSON-RPC responses

This was causing `listchannels` to be incredibly slow. The response is
several megabyte in size, and we were only buffering 1Kb on each
iteration.

Signed-off-by: Christian Decker <decker.christian@gmail.com>
plugin-7
Christian Decker 6 years ago
parent
commit
7314c71695
  1. 4
      contrib/pylightning/lightning/lightning.py

4
contrib/pylightning/lightning/lightning.py

@ -33,7 +33,7 @@ class UnixDomainSocketRpc(object):
return self._readobj(sock, buff)
while True:
try:
b = sock.recv(1024)
b = sock.recv(max(1024, len(buff)))
buff += b
if b'\n\n' in buff:
@ -58,7 +58,7 @@ class UnixDomainSocketRpc(object):
parts = buff.split(b'\n\n', 1)
if len(parts) == 1:
# Didn't read enough.
b = sock.recv(1024)
b = sock.recv(max(1024, len(buff)))
buff += b
if len(b) == 0:
return {'error': 'Connection to RPC server lost.'}, buff

Loading…
Cancel
Save