Rev3327, Add compatbility with new msgpack version

This commit is contained in:
shortcutme 2018-02-13 01:35:21 +01:00
parent 194d57c85f
commit e85c5e3b36
No known key found for this signature in database
GPG key ID: 5B63BAE6CB9613AE
2 changed files with 12 additions and 4 deletions

View file

@ -10,7 +10,7 @@ class Config(object):
def __init__(self, argv):
self.version = "0.6.2"
self.rev = 3326
self.rev = 3327
self.argv = argv
self.action = None
self.config_file = "zeronet.conf"

View file

@ -215,11 +215,19 @@ class Connection(object):
read_bytes = message["stream_bytes"] # Bytes left we have to read from socket
# Check if the unpacker has something left in buffer
extradata_len = min(self.unpacker._fb_buf_n - self.unpacker._fb_buf_o, read_bytes)
if hasattr(self.unpacker, "_buffer"): # New version of msgpack
bytes_buffer_left = len(self.unpacker._buffer) - self.unpacker.tell()
else:
bytes_buffer_left = self.unpacker._fb_buf_n - self.unpacker._fb_buf_o
extradata_len = min(bytes_buffer_left, read_bytes)
if extradata_len:
buff = self.unpacker.read_bytes(extradata_len)
self.unpacker._fb_consume()
self.log("Recovered: %r" % buff)
# Get rid of extra data from buffer
if hasattr(self.unpacker, "_consume"):
self.unpacker._consume()
else:
self.unpacker._fb_consume()
else:
buff = ""