def decode(self, buffer: Buffer, conn): if buffer.readable_length() == 0: return None msg = buffer.slice(0).decode() buffer.has_read(buffer.readable_length()) return msg pass
def decode(self, buffer: Buffer, conn): readable_length = buffer.readable_length() if readable_length <= RPC_HEADER_LEN: return None need_length = int.from_bytes(buffer.slice(RPC_HEADER_LEN), 'little') + RPC_HEADER_LEN if need_length > readable_length: return None data = buffer.slice(need_length)[RPC_HEADER_LEN:] buffer.has_read(need_length) return codec_decode(data)