import struct from .connection import Connection, PacketCodec class AbridgedPacketCodec(PacketCodec): tag = b'\xef' obfuscate_tag = b'\xef\xef\xef\xef' def encode_packet(self, data): length = len(data) >> 2 if length < 127: length = struct.pack('B', length) else: length = b'\x7f' + int.to_bytes(length, 3, 'little') return length + data async def read_packet(self, reader): length = struct.unpack('= 127: length = struct.unpack( '