@Override public Future<Void> sendCloseFrame(int statusCode, String reasonText) { if (channel.isOpen()) { return channel.writeAndFlush(new CloseWebSocketFrame(1000, "normal closure")); } return ImmediateEventExecutor.INSTANCE.newSucceededFuture(null); }
@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); } } });
workerShutdownFuture = config.workerGroup().shutdownGracefully(); } else { workerShutdownFuture = ImmediateEventExecutor.INSTANCE.newSucceededFuture(null);
@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); } } });
private void stop1(CompletableFuture<Void> future, EventLoopGroup bossGroup) { final Future<?> bossShutdownFuture; if (bossGroup != null) { bossShutdownFuture = bossGroup.shutdownGracefully(); this.bossGroup = null; } else { bossShutdownFuture = ImmediateEventExecutor.INSTANCE.newSucceededFuture(null); } bossShutdownFuture.addListener(f1 -> { // All server ports have been unbound. primaryActivePort = null; activePorts.clear(); // Shut down the workers. final EventLoopGroup workerGroup = this.workerGroup; final Future<?> workerShutdownFuture; if (workerGroup != null) { workerShutdownFuture = workerGroup.shutdownGracefully(); this.workerGroup = null; } else { workerShutdownFuture = ImmediateEventExecutor.INSTANCE.newSucceededFuture(null); } workerShutdownFuture.addListener(f2 -> { stateManager.enter(State.STOPPED); completeFuture(future); }); }); }
/** * 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); }
@Override public Future<Channel> getConnection(ConnectionParameters connectionParameters, HostAndPort address) { return ImmediateEventExecutor.INSTANCE.newSucceededFuture(new EmbeddedChannel()); }
@Override public Future<Channel> getConnection(ConnectionParameters connectionParameters, HostAndPort address) { return ImmediateEventExecutor.INSTANCE.newSucceededFuture(new EmbeddedChannel()); }