@Override
    public int retryRead(ByteBuf dst, long position, int length, long retryIntervalMillis,
        long retryTimeoutMillis) throws IOException {
        Reader reader = (buf, pos, len) -> channel.retryRead(buf, pos, len, retryIntervalMillis, retryTimeoutMillis);
        return read(reader, dst, position, length);
    }
A wrapper of {@link WALChannel} that caches for read to reduce I/O.
s3stream/src/main/java/com/automq/stream/s3/wal/util/WALCachedChannel.java