@Override public boolean await(RFuture<?> future, long timeout, TimeUnit timeoutUnit) throws InterruptedException { final CountDownLatch l = new CountDownLatch(1); future.addListener(new FutureListener<Object>() { @Override public void operationComplete(Future<Object> future) throws Exception { l.countDown(); } }); return l.await(timeout, timeoutUnit); }
@Override public boolean await(RFuture<?> future, long timeout, TimeUnit timeoutUnit) throws InterruptedException { final CountDownLatch l = new CountDownLatch(1); future.addListener(new FutureListener<Object>() { @Override public void operationComplete(Future<Object> future) throws Exception { l.countDown(); } }); return l.await(timeout, timeoutUnit); }
private void trySuccessFalse(final long currentThreadId, final RPromise<Boolean> result) { acquireFailedAsync(currentThreadId).addListener(new FutureListener<Void>() { @Override public void operationComplete(Future<Void> future) throws Exception { if (future.isSuccess()) { result.trySuccess(false); } else { result.tryFailure(future.cause()); } } }); }
private void trySuccessFalse(final long currentThreadId, final RPromise<Boolean> result) { acquireFailedAsync(currentThreadId).addListener(new FutureListener<Void>() { @Override public void operationComplete(Future<Void> future) throws Exception { if (future.isSuccess()) { result.trySuccess(false); } else { result.tryFailure(future.cause()); } } }); }
protected <R> void executeLocked(final RPromise<R> promise, final Runnable runnable, RLock lock) { lock.lockAsync(timeout, TimeUnit.MILLISECONDS).addListener(new FutureListener<Void>() { @Override public void operationComplete(Future<Void> future) throws Exception { if (future.isSuccess()) { runnable.run(); } else { promise.tryFailure(future.cause()); } } }); }
protected <R> void executeLocked(final RPromise<R> promise, final Runnable runnable, RLock lock) { lock.lockAsync(timeout, TimeUnit.MILLISECONDS).addListener(new FutureListener<Void>() { @Override public void operationComplete(Future<Void> future) throws Exception { if (future.isSuccess()) { runnable.run(); } else { promise.tryFailure(future.cause()); } } }); }
protected <R> void executeLocked(final RPromise<R> promise, final Runnable runnable, RLock lock) { lock.lockAsync(timeout, TimeUnit.MILLISECONDS).addListener(new FutureListener<Void>() { @Override public void operationComplete(Future<Void> future) throws Exception { if (future.isSuccess()) { runnable.run(); } else { promise.tryFailure(future.cause()); } } }); }
private void ping(RedisConnection c, final FutureListener<String> pingListener) { RFuture<String> f = c.async(RedisCommands.PING); f.addListener(pingListener); }
private void unlock(final RPromise<V> result, RLock lock, long threadId, final V value) { lock.unlockAsync(threadId).addListener(new FutureListener<Void>() { @Override public void operationComplete(Future<Void> future) throws Exception { if (!future.isSuccess()) { result.tryFailure(future.cause()); return; } result.trySuccess(value); } }); }
public void submit(Runnable runnable) { RFuture<?> future = executor.submitAsync(runnable); future.addListener(new LatchListener(latch)); futures.add(future); }
public void submit(Runnable runnable) { RFuture<?> future = executor.submitAsync(runnable); future.addListener(new LatchListener(latch)); futures.add(future); }
public RFuture<Void> shutdownAsync() { if (client2Entry.values().isEmpty()) { return RedissonPromise.<Void>newSucceededFuture(null); } RPromise<Void> result = new RedissonPromise<Void>(); CountableListener<Void> listener = new CountableListener<Void>(result, null, client2Entry.values().size()); for (ClientConnectionsEntry entry : client2Entry.values()) { entry.getClient().shutdownAsync().addListener(listener); } return result; }
public RFuture<Void> shutdownAsync() { if (!active.compareAndSet(true, false)) { return RedissonPromise.<Void>newSucceededFuture(null); } RPromise<Void> result = new RedissonPromise<Void>(); CountableListener<Void> listener = new CountableListener<Void>(result, null, 2); masterEntry.getClient().shutdownAsync().addListener(listener); slaveBalancer.shutdownAsync().addListener(listener); return result; }
public RFuture<Void> resetAsync(final long timeout, final TimeUnit timeUnit) { final RPromise<Void> result = new RedissonPromise<Void>(); RFuture<Long> future = topic.publishAsync(CLEAR_MSG); future.addListener(new ResetListener(result) { @Override protected RFuture<Void> acquireAsync(int value) { return tryAcquire(timeout, timeUnit, value); } }); return result; }
public RFuture<Void> resetAsync() { final RPromise<Void> result = new RedissonPromise<Void>(); RFuture<Long> future = topic.publishAsync(CLEAR_MSG); future.addListener(new ResetListener(result)); return result; }
public RFuture<Void> resetAsync(final long timeout, final TimeUnit timeUnit) { final RPromise<Void> result = new RedissonPromise<Void>(); RFuture<Long> future = topic.publishAsync(CLEAR_MSG); future.addListener(new ResetListener(result) { @Override protected RFuture<Void> acquireAsync(int value) { return tryAcquire(timeout, timeUnit, value); } }); return result; }
public RFuture<T> sumAsync() { final RPromise<T> result = new RedissonPromise<T>(); RFuture<Long> future = topic.publishAsync(SUM_MSG); future.addListener(new SumListener(result)); return result; }
public RFuture<T> sumAsync(final long timeout, final TimeUnit timeUnit) { RPromise<T> result = new RedissonPromise<T>(); RFuture<Long> future = topic.publishAsync(SUM_MSG); future.addListener(new SumListener(result) { @Override protected RFuture<Void> acquireAsync(int value) { return tryAcquire(timeout, timeUnit, value); } }); return result; }
public RFuture<Void> resetAsync() { final RPromise<Void> result = new RedissonPromise<Void>(); RFuture<Long> future = topic.publishAsync(CLEAR_MSG); future.addListener(new ResetListener(result)); return result; }
public RFuture<T> sumAsync(final long timeout, final TimeUnit timeUnit) { RPromise<T> result = new RedissonPromise<T>(); RFuture<Long> future = topic.publishAsync(SUM_MSG); future.addListener(new SumListener(result) { @Override protected RFuture<Void> acquireAsync(int value) { return tryAcquire(timeout, timeUnit, value); } }); return result; }