private void addHandlers(HttpServerImpl server, ContextInternal context) { server.httpHandlerMgr.addHandler( new HttpHandlers( this, requestStream.handler(), wsStream.handler(), connectionHandler, exceptionHandler == null ? DEFAULT_EXCEPTION_HANDLER : exceptionHandler) , context); }
actualServer.handlerManager.removeHandler(new Handlers(this, registeredHandler, exceptionHandler), listenContext); if (actualServer.handlerManager.hasHandlers()) {
private void handleHttp2(Channel ch) { HandlerHolder<HttpHandlers> holder = httpHandlerMgr.chooseHandler(ch.eventLoop()); if (holder == null) { ch.close(); return; } VertxHttp2ConnectionHandler<Http2ServerConnection> handler = buildHttp2ConnectionHandler(holder); ch.pipeline().addLast("handler", handler); configureHttp2(ch.pipeline()); }
void stop(ContextInternal context, Handler<AsyncResult<Void>> completionHandler) { boolean shutdown = count.decrementAndGet() == 0; context.runOnContext(v -> { manager.removeHandler("foo", context); contextLocal.get().remove(context); if (shutdown) { map.remove(id); server.shutdown(); } completionHandler.handle(Future.succeededFuture()); }); }
/** * Internal method that closes all servers when Vert.x is closing */ public void closeAll(Handler<AsyncResult<Void>> handler) { List<HttpHandlers> list = httpHandlerMgr.handlers(); List<Future> futures = list.stream() .<Future<Void>>map(handlers -> Future.future(handlers.server::close)) .collect(Collectors.toList()); CompositeFuture fut = CompositeFuture.all(futures); fut.setHandler(ar -> handler.handle(ar.mapEmpty())); }
/** * Internal method that closes all servers when Vert.x is closing */ public void closeAll(Handler<AsyncResult<Void>> handler) { List<Handlers> list = handlerManager.handlers(); List<Future> futures = list.stream() .<Future<Void>>map(handlers -> Future.future(handlers.server::close)) .collect(Collectors.toList()); CompositeFuture fut = CompositeFuture.all(futures); fut.setHandler(ar -> handler.handle(ar.mapEmpty())); }
actualServer.httpHandlerMgr.removeHandler( new HttpHandlers( this, , listenContext); if (actualServer.httpHandlerMgr.hasHandlers()) {
handlerManager.addHandler(new Handlers(this, handler, exceptionHandler), listenContext); VertxMetrics metrics = vertx.metricsSPI(); this.metrics = metrics != null ? metrics.createNetServerMetrics(options, new SocketAddressImpl(id.port, id.host)) : null; actualServer.handlerManager.addHandler(new Handlers(this, handler, exceptionHandler), listenContext);
private void handleHttp1(Channel ch) { HandlerHolder<HttpHandlers> holder = httpHandlerMgr.chooseHandler(ch.eventLoop()); if (holder == null) { sendServiceUnavailable(ch); return; } configureHttp1(ch.pipeline(), holder); }
/** * Internal method that closes all servers when Vert.x is closing */ public void closeAll(Handler<AsyncResult<Void>> handler) { List<Handlers> list = handlerManager.handlers(); List<Future> futures = list.stream() .<Future<Void>>map(handlers -> Future.future(handlers.server::close)) .collect(Collectors.toList()); CompositeFuture fut = CompositeFuture.all(futures); fut.setHandler(ar -> handler.handle(ar.mapEmpty())); }
actualServer.handlerManager.removeHandler(new Handlers(this, registeredHandler, exceptionHandler), listenContext); if (actualServer.handlerManager.hasHandlers()) {
private void addHandlers(HttpServerImpl server, ContextInternal context) { server.httpHandlerMgr.addHandler( new HttpHandlers( this, requestStream.handler(), wsStream.handler(), connectionHandler, exceptionHandler == null ? DEFAULT_EXCEPTION_HANDLER : exceptionHandler) , context); }
Http2Settings settings = HttpUtils.decodeSettings(settingsHeader); if (settings != null) { HandlerHolder<HttpHandlers> reqHandler = httpHandlerMgr.chooseHandler(ctx.channel().eventLoop()); if (reqHandler != null && reqHandler.context.isEventLoopContext()) { ChannelPipeline pipeline = ctx.pipeline();
/** * Internal method that closes all servers when Vert.x is closing */ public void closeAll(Handler<AsyncResult<Void>> handler) { List<HttpHandlers> list = httpHandlerMgr.handlers(); List<Future> futures = list.stream() .<Future<Void>>map(handlers -> Future.future(handlers.server::close)) .collect(Collectors.toList()); CompositeFuture fut = CompositeFuture.all(futures); fut.setHandler(ar -> handler.handle(ar.mapEmpty())); }
actualServer.httpHandlerMgr.removeHandler( new HttpHandlers( this, , listenContext); if (actualServer.httpHandlerMgr.hasHandlers()) {
handlerManager.addHandler(new Handlers(this, handler, exceptionHandler), listenContext); VertxMetrics metrics = vertx.metricsSPI(); this.metrics = metrics != null ? metrics.createNetServerMetrics(options, new SocketAddressImpl(id.port, id.host)) : null; actualServer.handlerManager.addHandler(new Handlers(this, handler, exceptionHandler), listenContext);
return; HandlerHolder<Handlers> handler = handlerManager.chooseHandler(ch.eventLoop()); if (handler != null) { if (sslHelper.isSSL()) {
void start(ContextInternal context, Handler<AsyncResult<Void>> completionHandler) { boolean start = count.getAndIncrement() == 0; context.runOnContext(v -> { if (contextLocal.get() == null) { contextLocal.set(new ArrayList<>()); } manager.addHandler("foo", context); contextLocal.get().add(context); if (start) { context.executeBlocking(v2 -> { try { server.start(); v2.complete(); } catch (IOException e) { v2.fail(e); } }, completionHandler); } else { completionHandler.handle(Future.succeededFuture()); } }); }
HandlerHolder<HttpHandlers> handler = httpHandlerMgr.chooseHandler(ch.eventLoop()); handler.context.executeFromIO(v -> { handler.handler.exceptionHandler.handle(ar.cause());
private void handleHttp2(Channel ch) { HandlerHolder<HttpHandlers> holder = httpHandlerMgr.chooseHandler(ch.eventLoop()); if (holder == null) { ch.close(); return; } VertxHttp2ConnectionHandler<Http2ServerConnection> handler = buildHttp2ConnectionHandler(holder); ch.pipeline().addLast("handler", handler); configureHttp2(ch.pipeline()); }