import struct from .tcpfull import ConnectionTcpFull class ConnectionTcpAbridged(ConnectionTcpFull): """ This is the mode with the lowest overhead, as it will only require 1 byte if the packet length is less than 508 bytes (127 << 2, which is very common). """ async def connect(self, ip, port): result = await super().connect(ip, port) await self.conn.write(b'\xef') return result async def recv(self): length = struct.unpack('= 127: length = struct.unpack('> 2 if length < 127: length = struct.pack('B', length) else: length = b'\x7f' + int.to_bytes(length, 3, 'little') await self.write(length + message)