@Override public RPromise<T> awaitUninterruptibly() { promise.awaitUninterruptibly(); return this; }
@Override public RPromise<T> awaitUninterruptibly() { promise.awaitUninterruptibly(); return this; }
@Override public boolean awaitUninterruptibly(long timeoutMillis) { return promise.awaitUninterruptibly(timeoutMillis); }
@Override public boolean awaitUninterruptibly(long timeout, TimeUnit unit) { return promise.awaitUninterruptibly(timeout, unit); }
@Override public boolean awaitUninterruptibly(long timeout, TimeUnit unit) { return promise.awaitUninterruptibly(timeout, unit); }
@Override public boolean awaitUninterruptibly(long timeoutMillis) { return promise.awaitUninterruptibly(timeoutMillis); }
@Override public boolean awaitUninterruptibly(long timeout, TimeUnit unit) { return delegate.awaitUninterruptibly(timeout, unit); }
@Override public Promise<T> awaitUninterruptibly() { return delegate.awaitUninterruptibly(); }
@Override public boolean awaitUninterruptibly(long timeoutMillis) { return delegate.awaitUninterruptibly(timeoutMillis); }
/** * Wait for promise to be done * * @return true if success, false if fail * @throws IOException on IOException * @throws TimeoutException on timeout */ protected boolean waitForPromiseSuccess() throws IOException, TimeoutException { if (!promise.isDone()) { Promise<T> listeningPromise = this.promise; listeningPromise.awaitUninterruptibly(); if (listeningPromise != this.promise) { return false; } this.handlePromise(promise); } return true; }
/** * Wait for promise to be done * * @throws IOException on IOException * @throws TimeoutException on timeout */ protected void waitForPromiseSuccess() throws IOException, TimeoutException { while(!promise.isDone() && !promise.isCancelled()) { Promise<T> listeningPromise = this.promise; listeningPromise.awaitUninterruptibly(); if (listeningPromise == this.promise) { this.handlePromise(promise); break; } } }