org.apache.ignite.internal.processors.cache

## Interface GridCacheFuture<R>

All Superinterfaces:
  IgniteInternalFuture<R>

All Known Subinterfaces:
  GridCacheAtomicFuture<R>, GridCacheMvccFuture<T>

All Known Implementing Classes:
  CacheDistributedGetFutureAdapter, GridCacheCompoundFuture, GridCacheCompoundIdentityFuture, GridCacheFutureAdapter, GridCacheTxRecoveryFuture, GridDhtAtomicAbstractUpdateFuture, GridDhtColocatedLockFuture, GridDhtLockFuture, GridDhtTxFinishFuture, GridDhtTxPrepareFuture, GridLocalLockFuture, GridNearAtomicAbstractUpdateFuture, GridNearAtomicSingleUpdateFuture, GridNearAtomicUpdateFuture, GridNearGetFuture, GridNearLockFuture, GridNearOptimisticSerializableTxPrepareFuture, GridNearOptimisticTxPrepareFuture, GridNearOptimisticTxPrepareFutureAdapter, GridNearPessimisticTxPrepareFuture, GridNearTxFinishFuture, GridNearTxPrepareFutureAdapter, GridPartitionedGetFuture, GridPartitionedSingleGetFuture

    public interface GridCacheFuture<R>
    extends IgniteInternalFuture<R>

This interface should be implemented by all distributed futures.

### Method Summary

Methods
`long` `duration()` Gets duration in milliseconds between start of the future and current time if future is not finished, or between start and finish of this future.
`IgniteUuid` `futureId()`
`void` `markNotTrackable()` Marks this future as non-trackable.
`boolean` `onNodeLeft(UUID nodeId)` Callback for when node left.
`long` `startTime()` Gets start time for this future.
`boolean` `trackable()`

### Methods inherited from interface org.apache.ignite.internal.IgniteInternalFuture

`cancel, chain, chain, error, get, get, get, getUninterruptibly, isCancelled, isDone, listen, result`

### Method Detail

#### startTime

    long startTime()

Gets start time for this future.

Returns:
  Start time for this future.

#### duration

    long duration()

Gets duration in milliseconds between start of the future and current time if future is not finished, or between start and finish of this future.

Returns:
  Time in milliseconds this future has taken to execute.

#### futureId

    IgniteUuid futureId()

Returns:
  Unique identifier for this future.

#### onNodeLeft

    boolean onNodeLeft(UUID nodeId)

Callback for when node left.

Parameters:
  `nodeId` - Left node ID.
Returns:
  `True` if future cared about this node.

#### trackable

    boolean trackable()

Returns:
  `True` if future should be tracked.

#### markNotTrackable

    void markNotTrackable()

Marks this future as non-trackable.

2017 Copyright © Apache Software Foundation

Follow @ApacheIgnite

Ignite Fabric | : ver. 2.2.0
Release Date | : September 15 2017