All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.instaclustr.cassandra.backup.impl.OperationProgressTracker Maven / Gradle / Ivy

There is a newer version: 2.0.0-alpha8
Show newest version
package com.instaclustr.cassandra.backup.impl;

import com.instaclustr.operations.Operation;
import com.instaclustr.operations.OperationRequest;

public class OperationProgressTracker {
    private final Operation operation;
    private final int eventsToComplete;
    private int eventsCompleted = 0;

    public OperationProgressTracker(final Operation operation,
                                    final int eventsToComplete) {
        if (eventsToComplete <= 0) {
            throw new IllegalArgumentException("Events to complete has to be greater than 0.");
        }

        this.operation = operation;
        this.eventsToComplete = eventsToComplete;
    }

    public synchronized void update() {
        this.operation.progress = (float) ++eventsCompleted / (float) eventsToComplete;
    }

    public void complete() {
        this.operation.progress = 1.0f;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy