in zktraffic/zab/quorum_packet.py [0:0]
def from_payload(cls, data, src, dst, timestamp):
if len(data) < cls.MIN_SIZE:
raise BadPacket("Too small")
ptype, offset = read_number(data, 0)
if PacketType.invalid(ptype):
raise BadPacket("Invalid type")
zxid, offset = read_long(data, offset)
handler = QuorumPacketBase.get(ptype, cls)
return handler.with_params(timestamp, src, dst, ptype, zxid, data, offset)