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.py7
1 files changed, 7 insertions, 0 deletions
diff --git a/kafka/protocol/message.py b/kafka/protocol/message.py
index a67d7f5..f6cbb33 100644
--- a/kafka/protocol/message.py
+++ b/kafka/protocol/message.py
@@ -42,6 +42,13 @@ class Message(Struct):
return cls(fields[4], key=fields[3],
magic=fields[1], attributes=fields[2], crc=fields[0])
+ def validate_crc(self):
+ raw_msg = self._encode_self(recalc_crc=False)
+ crc = crc32(raw_msg[4:])
+ if crc == self.crc:
+ return True
+ return False
+
class PartialMessage(bytes):
def __repr__(self):