Merge #7912: Tests: Fix deserialization of reject messages

807fa47 Tests: Fix deserialization of reject messages (Suhas Daftuar)
This commit is contained in:
MarcoFalke 2016-04-21 17:22:36 +02:00
commit 59ad56851a
No known key found for this signature in database
GPG key ID: 2D7F2372E50FE137

View file

@ -983,6 +983,7 @@ class msg_headers(object):
class msg_reject(object):
command = b"reject"
REJECT_MALFORMED = 1
def __init__(self):
self.message = b""
@ -994,14 +995,16 @@ class msg_reject(object):
self.message = deser_string(f)
self.code = struct.unpack("<B", f.read(1))[0]
self.reason = deser_string(f)
if (self.message == "block" or self.message == "tx"):
if (self.code != self.REJECT_MALFORMED and
(self.message == b"block" or self.message == b"tx")):
self.data = deser_uint256(f)
def serialize(self):
r = ser_string(self.message)
r += struct.pack("<B", self.code)
r += ser_string(self.reason)
if (self.message == "block" or self.message == "tx"):
if (self.code != self.REJECT_MALFORMED and
(self.message == b"block" or self.message == b"tx")):
r += ser_uint256(self.data)
return r