org.apache.geode.cache.control

## Interface RebalanceOperation

-     public interface RebalanceOperation

  Operation for rebalancing resources used by the `Cache`.
  Since:
    GemFire 6.0

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `cancel()` Cancels this rebalance operation.
    `RebalanceResults` | `getResults()` Wait for this operation to complete and return the results.
    `RebalanceResults` | `getResults(long timeout, java.util.concurrent.TimeUnit unit)` Wait for this operation to complete and return the results.
    `boolean` | `isCancelled()` Returns true if this operation was cancelled before it completed.
    `boolean` | `isDone()` Returns true if this operation completed.

- - ### Method Detail

    - #### isCancelled

          boolean isCancelled()

      Returns true if this operation was cancelled before it completed.

    - #### isDone

          boolean isDone()

      Returns true if this operation completed.

    - #### cancel

          boolean cancel()

      Cancels this rebalance operation. The rebalance operation will find a safe point and then stop.
      Returns:
        false if this operation could not be cancelled, typically because it has already completed; true otherwise

    - #### getResults

          RebalanceResults getResults()
                               throws java.util.concurrent.CancellationException,
                                      java.lang.InterruptedException

      Wait for this operation to complete and return the results.
      Returns:
        the rebalance results
      Throws:
        `java.util.concurrent.CancellationException` - if the operation was cancelled
        `java.lang.InterruptedException` - if the wait was interrupted

    - #### getResults

          RebalanceResults getResults(long timeout,
                                      java.util.concurrent.TimeUnit unit)
                               throws java.util.concurrent.CancellationException,
                                      java.util.concurrent.TimeoutException,
                                      java.lang.InterruptedException

      Wait for this operation to complete and return the results.
      Parameters:
        `timeout` - the maximum time to wait
        `unit` - the time unit of the timeout argument
      Returns:
        the rebalance results
      Throws:
        `java.util.concurrent.CancellationException` - if the operation was cancelled
        `java.util.concurrent.TimeoutException` - if the wait timed out
        `java.lang.InterruptedException` - if the wait was interrupted