summaryrefslogtreecommitdiff
path: root/kafka/protocol/message.py
diff options
context:
space:
mode:
authorDana Powers <dana.powers@rd.io>2015-12-21 01:45:23 -0800
committerDana Powers <dana.powers@rd.io>2015-12-28 13:45:25 -0800
commit97c7d8829b96f37ae8ee9d3980cc443d77845534 (patch)
tree5133e2fb98fae38f9eabedfaee327a2767a7de5d /kafka/protocol/message.py
parenta57ab55a5c593c099453f988dc12a1ee3552ecc3 (diff)
downloadkafka-python-97c7d8829b96f37ae8ee9d3980cc443d77845534.tar.gz
Add Message.validate_crc() method
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):