public MultiFileOutputStream init()

in src/main/java/software/amazon/encryption/s3/internal/MultiFileOutputStream.java [86:102]


    public MultiFileOutputStream init(UploadObjectObserver observer,
                                      long partSize, long diskLimit) {
        if (observer == null) {
            throw new IllegalArgumentException("Observer must be specified");
        }
        this.observer = observer;
        if (diskLimit < partSize << 1) {
            throw new IllegalArgumentException(
                    "Maximum temporary disk space must be at least twice as large as the part size: partSize="
                            + partSize + ", diskSize=" + diskLimit);
        }
        this.partSize = partSize;
        this.diskLimit = diskLimit;
        final int max = (int) (diskLimit / partSize);
        this.diskPermits = max < 0 ? null : new Semaphore(max);
        return this;
    }