public static CodedInputStream newInputStream(ByteBuf byteBuf) {
        int count = byteBuf.nioBufferCount();
        if (count == 1) {
            return CodedInputStreamUtil.newInstance(byteBuf.nioBuffer());
        } else if (count > 1) {
            return CodedInputStreamUtil.newInstance(Arrays.asList(byteBuf.nioBuffers()));
        }
        throw new IllegalArgumentException("The buffer must have at least one NIO buffer");
    }
@implNote 1. {@link CodedInputStream} is efficient because it reuses the underlying buffers
          2. Don't use {@link CodedInputStream#newInstance(InputStream)} for
          {@link io.netty.buffer.ByteBufInputStream} because it is inefficient.
turms-server-common/src/main/java/im/turms/server/common/infra/proto/ProtoDecoder.java