@Override
    public CompletableFuture<Void> write(ByteBuf data) {
        totalWriteSize.addAndGet(data.readableBytes());

        if (objectPart == null) {
            objectPart = new ObjectPart(writeOptions.throttleStrategy());
        }
        ObjectPart objectPart = this.objectPart;

        objectPart.write(data);
        if (objectPart.size() > Math.max(minPartSize, maxMergeWriteSize)) {
            objectPart.upload();
            // finish current part.
            this.objectPart = null;
        }
        return objectPart.getFuture();
    }
The minPartSize represents the minimum size of a part for a multipart object.
s3stream/src/main/java/com/automq/stream/s3/operator/MultiPartWriter.java