/** * @param fut Future. * @param doneCb Closure. * @param cbExec Optional executor to run callback. */ ChainFuture( GridFutureAdapter<R> fut, IgniteClosure<? super IgniteInternalFuture<R>, T> doneCb, @Nullable Executor cbExec ) { this.fut = fut; this.doneCb = doneCb; fut.listen(new GridFutureChainListener<>(this, doneCb, cbExec)); }
/** * @param fut Future. * @param doneCb Closure. * @param cbExec Optional executor to run callback. */ ChainFuture( GridFutureAdapter<R> fut, IgniteClosure<? super IgniteInternalFuture<R>, T> doneCb, @Nullable Executor cbExec ) { this.fut = fut; this.doneCb = doneCb; fut.listen(new GridFutureChainListener<>(this, doneCb, cbExec)); }