diff options
author | Dana Powers <dana.powers@rd.io> | 2015-12-21 01:45:23 -0800 |
---|---|---|
committer | Dana Powers <dana.powers@rd.io> | 2015-12-28 13:45:25 -0800 |
commit | 97c7d8829b96f37ae8ee9d3980cc443d77845534 (patch) | |
tree | 5133e2fb98fae38f9eabedfaee327a2767a7de5d /kafka/protocol/message.py | |
parent | a57ab55a5c593c099453f988dc12a1ee3552ecc3 (diff) | |
download | kafka-python-97c7d8829b96f37ae8ee9d3980cc443d77845534.tar.gz |
Add Message.validate_crc() method
Diffstat (limited to 'kafka/protocol/message.py')
-rw-r--r-- | kafka/protocol/message.py | 7 |
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): |