@Override
    public void relRead(final ByteBuffer bf, long relOffset) throws IOException {
        if (this.isExpired()) {
            // Todo: conduct file closed and expired cases.
        }
        int size = 0;
        while (bf.hasRemaining()) {
            final int l = this.channel.read(bf, relOffset + size);
            if (l < 0) {
                break;
            }
            size += l;
        }
    }
Set FileSegment to readonly.

@param mutable mutable or immutable
inlong-tubemq/tubemq-server/src/main/java/org/apache/inlong/tubemq/server/broker/msgstore/disk/FileSegment.java