private static void writePacket(DataOutputStream os, long time, Packet packet) throws IOException { ByteBuf buf = PooledByteBufAllocator.DEFAULT.buffer(); NetUtils.writeVarInt(buf, REVERSE_PACKET_MAP.get(packet.getClass())); packet.write(buf); int length = buf.readableBytes(); os.writeInt((int) time); os.writeInt(length); buf.readBytes(os, length); buf.release(); }