summaryrefslogtreecommitdiff
path: root/kafka/protocol/message.py
diff options
context:
space:
mode:
authorDana Powers <dana.powers@rd.io>2015-11-29 10:05:58 +0800
committerZack Dever <zack.dever@rd.io>2015-12-04 11:25:40 -0800
commit51227eae4f71565cf7abae51a91a6c037f705076 (patch)
tree17b65bebb158cb4767a1463adca27ea204601326 /kafka/protocol/message.py
parent058567912e8d82c1da5e5ead9e30be532573a173 (diff)
downloadkafka-python-51227eae4f71565cf7abae51a91a6c037f705076.tar.gz
Use simply counting instead of buffer.tell() -- socket.makefile does not support tell()
Diffstat (limited to 'kafka/protocol/message.py')
-rw-r--r--kafka/protocol/message.py6
1 files changed, 4 insertions, 2 deletions
diff --git a/kafka/protocol/message.py b/kafka/protocol/message.py
index 26f5ef6..4024a5c 100644
--- a/kafka/protocol/message.py
+++ b/kafka/protocol/message.py
@@ -60,8 +60,10 @@ class MessageSet(AbstractType):
@classmethod
def decode(cls, data):
size = Int32.decode(data)
- end = data.tell() + size
+ bytes_read = 0
items = []
- while data.tell() < end:
+ while bytes_read < size:
items.append(cls.ITEM.decode(data))
+ msg_size = items[-1][1]
+ bytes_read += (8 + 4 + msg_size)
return items