@Override public void run() { long count = 0; try { Iterator<String> keysIterator = createKeysIterator(entry, pattern, batchSize); List<String> keys = new ArrayList<String>(); while (keysIterator.hasNext()) { String key = keysIterator.next(); keys.add(key); if (keys.size() % batchSize == 0) { count += delete(keys.toArray(new String[keys.size()])); keys.clear(); } } if (!keys.isEmpty()) { count += delete(keys.toArray(new String[keys.size()])); keys.clear(); } Future<Long> future = ImmediateEventExecutor.INSTANCE.newSucceededFuture(count); future.addListener(listener); } catch (Exception e) { Future<Long> future = ImmediateEventExecutor.INSTANCE.newFailedFuture(e); future.addListener(listener); } } });
@Override public void run() { long count = 0; try { Iterator<String> keysIterator = createKeysIterator(entry, pattern, batchSize); List<String> keys = new ArrayList<String>(); while (keysIterator.hasNext()) { String key = keysIterator.next(); keys.add(key); if (keys.size() % batchSize == 0) { count += delete(keys.toArray(new String[keys.size()])); keys.clear(); } } if (!keys.isEmpty()) { count += delete(keys.toArray(new String[keys.size()])); keys.clear(); } Future<Long> future = ImmediateEventExecutor.INSTANCE.newSucceededFuture(count); future.addListener(listener); } catch (Exception e) { Future<Long> future = ImmediateEventExecutor.INSTANCE.newFailedFuture(e); future.addListener(listener); } } });
@Override public Future<?> shutdownGracefully(long quietPeriod, long timeout, TimeUnit unit) { shutdown(); if (isShutdown()) { return ImmediateEventExecutor.INSTANCE.newSucceededFuture(null); } else { return ImmediateEventExecutor.INSTANCE.newFailedFuture(new TimeoutException()); } }
@Override public void run() { long count = 0; try { Iterator<String> keysIterator = createKeysIterator(entry, pattern, batchSize); List<String> keys = new ArrayList<String>(); while (keysIterator.hasNext()) { String key = keysIterator.next(); keys.add(key); if (keys.size() % batchSize == 0) { count += delete(keys.toArray(new String[keys.size()])); keys.clear(); } } if (!keys.isEmpty()) { count += delete(keys.toArray(new String[keys.size()])); keys.clear(); } Future<Long> future = ImmediateEventExecutor.INSTANCE.newSucceededFuture(count); future.addListener(listener); } catch (Exception e) { Future<Long> future = ImmediateEventExecutor.INSTANCE.newFailedFuture(e); future.addListener(listener); } } });
/** * Receives a message from this pipe. * <p> * If the pipe is closed then this will return a failed future.</p> */ public Future<T> receive() { Node node; synchronized (this) { node = sendQueue.poll(); if (node == null) { if (closed) { return ImmediateEventExecutor.INSTANCE.newFailedFuture(PIPE_CLOSED); } Promise<T> promise = ImmediateEventExecutor.INSTANCE.newPromise(); receiveQueue.add(promise); return promise; } } node.promise.setSuccess(null); return ImmediateEventExecutor.INSTANCE.newSucceededFuture(node.message); }