Signed-off-by: Yohann D'ANELLO <ynerant@crans.org>
This commit is contained in:
Yohann D'ANELLO 2020-12-21 16:03:58 +01:00
parent a4cf467e59
commit e06d7b9540
Signed by: ynerant
GPG Key ID: 3A75C55819C8CF85
1 changed files with 16 additions and 16 deletions

View File

@ -193,9 +193,9 @@ class NeighbourTLV(TLV):
def marshal(self) -> bytes: def marshal(self) -> bytes:
return self.type.to_bytes(1, "big") + \ return self.type.to_bytes(1, "big") + \
self.length.to_bytes(1, "big") + \ self.length.to_bytes(1, "big") + \
self.ip_address.packed + \ self.ip_address.packed + \
self.port.to_bytes(2, "big") self.port.to_bytes(2, "big")
class DataTLV(TLV): class DataTLV(TLV):
@ -214,10 +214,10 @@ class DataTLV(TLV):
def marshal(self) -> bytes: def marshal(self) -> bytes:
return self.type.to_bytes(1, "big") + \ return self.type.to_bytes(1, "big") + \
self.length.to_bytes(1, "big") + \ self.length.to_bytes(1, "big") + \
self.sender_id.to_bytes(8, "big") + \ self.sender_id.to_bytes(8, "big") + \
self.nonce.to_bytes(4, "big") + \ self.nonce.to_bytes(4, "big") + \
self.data self.data
class AckTLV(TLV): class AckTLV(TLV):
@ -234,9 +234,9 @@ class AckTLV(TLV):
def marshal(self) -> bytes: def marshal(self) -> bytes:
return self.type.to_bytes(1, "big") + \ return self.type.to_bytes(1, "big") + \
self.length.to_bytes(1, "big") + \ self.length.to_bytes(1, "big") + \
self.sender_id.to_bytes(8, "big") + \ self.sender_id.to_bytes(8, "big") + \
self.nonce.to_bytes(4, "big") self.nonce.to_bytes(4, "big")
class GoAwayTLV(TLV): class GoAwayTLV(TLV):
@ -259,9 +259,9 @@ class GoAwayTLV(TLV):
def marshal(self) -> bytes: def marshal(self) -> bytes:
return self.type.to_bytes(1, "big") + \ return self.type.to_bytes(1, "big") + \
self.length.to_bytes(1, "big") + \ self.length.to_bytes(1, "big") + \
self.code.value.to_bytes(1, "big") + \ self.code.value.to_bytes(1, "big") + \
self.message.encode("UTF-8")[:self.length - 1] self.message.encode("UTF-8")[:self.length - 1]
class WarningTLV(TLV): class WarningTLV(TLV):
@ -276,8 +276,8 @@ class WarningTLV(TLV):
def marshal(self) -> bytes: def marshal(self) -> bytes:
return self.type.to_bytes(1, "big") + \ return self.type.to_bytes(1, "big") + \
self.length.to_bytes(1, "big") + \ self.length.to_bytes(1, "big") + \
self.message.encode("UTF-8")[:self.length] self.message.encode("UTF-8")[:self.length]
class Packet: class Packet:
@ -317,7 +317,7 @@ class Packet:
if not (0 <= tlv_type < len(TLV.tlv_classes())): if not (0 <= tlv_type < len(TLV.tlv_classes())):
raise ValueError(f"TLV type is not supported: {tlv_type}") raise ValueError(f"TLV type is not supported: {tlv_type}")
pkt.body = TLV.tlv_classes()[tlv_type]() pkt.body = TLV.tlv_classes()[tlv_type]()
pkt.body.unmarshal(data[4:4+pkt.body_length]) pkt.body.unmarshal(data[4:4 + pkt.body_length])
pkt.validate_data() pkt.validate_data()