Class IgniteFutureImpl<V>

    • Constructor Detail

      • IgniteFutureImpl

        public IgniteFutureImpl​(IgniteInternalFuture<V> fut,
                                @Nullable
                                @Nullable Executor defaultExecutor)
        Parameters:
        fut - Future.
        defaultExecutor - Default executor.
    • Method Detail

      • isCancelled

        public boolean isCancelled()
        Returns true if this task was cancelled before it completed normally.
        Specified by:
        isCancelled in interface IgniteFuture<V>
        Returns:
        true if this task was cancelled before it completed
      • isDone

        public boolean isDone()
        Returns true if this task completed.

        Completion may be due to normal termination, an exception, or cancellation - in all of these cases, this method will return true.

        Specified by:
        isDone in interface IgniteFuture<V>
        Returns:
        true if this task completed.
      • listen

        public void listen​(IgniteInClosure<? super IgniteFuture<V>> lsnr)
        Registers a callback to be invoked when the future completes. If the future is already completed, callback will be invoked immediately in the current thread.
        Specified by:
        listen in interface IgniteFuture<V>
        Parameters:
        lsnr - Listener closure to register. Cannot be null.
      • listenAsync

        public void listenAsync​(IgniteInClosure<? super IgniteFuture<V>> lsnr,
                                Executor exec)
        Registers a callback to be invoked with the specified executor when the future completes.
        Specified by:
        listenAsync in interface IgniteFuture<V>
        Parameters:
        lsnr - Listener closure to register. Cannot be null.
        exec - Executor to invoke the listener. Cannot be null.
      • chain

        public <T> IgniteFuture<T> chain​(IgniteClosure<? super IgniteFuture<V>,​T> doneCb)
        Make a chained future to convert result of this future (when complete) into a new format. It is guaranteed that done callback will be called only ONCE.
        Specified by:
        chain in interface IgniteFuture<V>
        Type Parameters:
        T - Type of the converted result.
        Parameters:
        doneCb - Done callback that is applied to this future when it finishes to produce chained future result.
        Returns:
        Chained future that finishes after this future completes and done callback is called.
      • chainAsync

        public <T> IgniteFuture<T> chainAsync​(IgniteClosure<? super IgniteFuture<V>,​T> doneCb,
                                              Executor exec)
        Make a chained future to convert result of this future (when complete) into a new format. It is guaranteed that done callback will be called only ONCE.
        Specified by:
        chainAsync in interface IgniteFuture<V>
        Type Parameters:
        T - Type of the converted result.
        Parameters:
        doneCb - Done callback that is applied to this future when it finishes to produce chained future result.
        exec - Executor to run done callback. Cannot be null.
        Returns:
        Chained future that finishes after this future completes and done callback is called.
      • cancel

        public boolean cancel()
                       throws IgniteException
        Cancels this future.
        Specified by:
        cancel in interface IgniteFuture<V>
        Returns:
        True if future was canceled (i.e. was not finished prior to this call).
        Throws:
        IgniteException - If cancellation failed.
      • get

        public V get()
        Synchronously waits for completion of the computation and returns computation result.
        Specified by:
        get in interface IgniteFuture<V>
        Returns:
        Computation result.
      • get

        public V get​(long timeout)
        Synchronously waits for completion of the computation for up to the timeout specified and returns computation result. This method is equivalent to calling get(long, TimeUnit.MILLISECONDS).
        Specified by:
        get in interface IgniteFuture<V>
        Parameters:
        timeout - The maximum time to wait in milliseconds.
        Returns:
        Computation result.
      • get

        public V get​(long timeout,
                     TimeUnit unit)
        Synchronously waits for completion of the computation for up to the timeout specified and returns computation result.
        Specified by:
        get in interface IgniteFuture<V>
        Parameters:
        timeout - The maximum time to wait.
        unit - The time unit of the timeout argument.
        Returns:
        Computation result.
      • convertException

        protected RuntimeException convertException​(IgniteCheckedException e)
        Convert internal exception to public exception.
        Parameters:
        e - Internal exception.
        Returns:
        Public excpetion.