summaryrefslogtreecommitdiff
path: root/kafka/protocol/message.py
diff options
context:
space:
mode:
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