@Override public void shutdownRequested(final ShutdownContext shutdownContext) { final FutureImpl<NetworkListener> shutdownFutureLocal = shutdownFuture; shutdownCompletionHandler = new EmptyCompletionHandler<HttpServerFilter>() { @Override public void completed(final HttpServerFilter filter) { try { shutdownContext.ready(); shutdownFutureLocal.result(NetworkListener.this); } catch (Throwable e) { shutdownFutureLocal.failure(e); } } }; getHttpServerFilter().prepareForShutdown(shutdownCompletionHandler); }
public synchronized GrizzlyFuture<NetworkListener> shutdown(final long gracePeriod, final TimeUnit timeUnit) { if (state == State.STOPPING || state == State.STOPPED) { return shutdownFuture != null ? shutdownFuture : Futures.createReadyFuture(this); } else if (state == State.PAUSED) { resume(); } state = State.STOPPING; shutdownFuture = Futures.createSafeFuture(); getHttpServerFilter().prepareForShutdown(shutdownCompletionHandler); transport.shutdown(gracePeriod, timeUnit); return shutdownFuture; }
final HttpServerFilter filter = listener.getHttpServerFilter(); if (currentHttpServerFilter != filter) { if (currentHttpServerFilter != null) {