/** * Creates a new {@link KaryonServer} which combines lifecycle of the passed {@link HttpServer} with * it's own lifecycle. * * @param server HTTP server * @param suites Additional suites if any. * * @return {@link KaryonServer} which is to be used to start the created server. */ public static KaryonServer forHttpServer(HttpServer<?, ?> server, LifecycleInjectorBuilderSuite... suites) { return new RxNettyServerBackedServer(server, suites); }
/** * Creates a new {@link KaryonServer} which combines lifecycle of the passed {@link RxServer} with * it's own lifecycle. * * @param server TCP server * @param suites Additional suites if any. * * @return {@link KaryonServer} which is to be used to start the created server. */ public static KaryonServer forTcpServer(RxServer<?, ?> server, LifecycleInjectorBuilderSuite... suites) { return new RxNettyServerBackedServer(server, suites); }
/** * Creates a new {@link KaryonServer} which combines lifecycle of the passed {@link UdpServer} with * it's own lifecycle. * * @param server UDP server * @param suites Additional suites if any. * * @return {@link KaryonServer} which is to be used to start the created server. */ public static KaryonServer forUdpServer(UdpServer<?, ?> server, LifecycleInjectorBuilderSuite... suites) { return new RxNettyServerBackedServer(server, suites); }
/** * Creates a new {@link KaryonServer} which combines lifecycle of the passed WebSockets {@link RxServer} with * it's own lifecycle. * * @param server WebSocket server * @param suites Additional suites if any. * * @return {@link KaryonServer} which is to be used to start the created server. */ public static KaryonServer forWebSocketServer(RxServer<? extends WebSocketFrame, ? extends WebSocketFrame> server, LifecycleInjectorBuilderSuite... suites) { return new RxNettyServerBackedServer(server, suites); }
/** * Creates a new {@link KaryonServer} that has a single HTTP server instance which delegates all request * handling to {@link RequestHandler}. * The {@link HttpServer} is created using {@link KaryonTransport#newHttpServer(int, HttpRequestHandler)} * * @param port Port for the server. * @param handler Request Handler * @param suites Additional suites if any. * * @return {@link KaryonServer} which is to be used to start the created server. */ public static KaryonServer forRequestHandler(int port, final RequestHandler<ByteBuf, ByteBuf> handler, LifecycleInjectorBuilderSuite... suites) { HttpServer<ByteBuf, ByteBuf> httpServer = KaryonTransport.newHttpServer(port, new RequestHandler<ByteBuf, ByteBuf>() { @Override public Observable<Void> handle(HttpServerRequest<ByteBuf> request, HttpServerResponse<ByteBuf> response) { return handler.handle(request, response); } }); return new RxNettyServerBackedServer(httpServer, suites); }
/** * Creates a new {@link KaryonServer} that has a single TCP server instance which delegates all connection * handling to {@link ConnectionHandler}. * The {@link RxServer} is created using {@link RxNetty#newTcpServerBuilder(int, ConnectionHandler)} * * @param port Port for the server. * @param handler Connection Handler * @param suites Additional suites if any. * * @return {@link KaryonServer} which is to be used to start the created server. */ public static KaryonServer forTcpConnectionHandler(int port, ConnectionHandler<ByteBuf, ByteBuf> handler, LifecycleInjectorBuilderSuite... suites) { RxServer<ByteBuf, ByteBuf> server = RxNetty.newTcpServerBuilder(port, handler).build(); return new RxNettyServerBackedServer(server, suites); }
/** * Creates a new {@link KaryonServer} that has a single UDP server instance which delegates all connection * handling to {@link ConnectionHandler}. * The {@link RxServer} is created using {@link RxNetty#newUdpServerBuilder(int, ConnectionHandler)} * * @param port Port for the server. * @param handler Connection Handler * @param suites Additional suites if any. * * @return {@link KaryonServer} which is to be used to start the created server. */ public static KaryonServer forUdpConnectionHandler(int port, ConnectionHandler<ByteBuf, ByteBuf> handler, LifecycleInjectorBuilderSuite... suites) { UdpServer<ByteBuf, ByteBuf> server = RxNetty.newUdpServerBuilder(port, handler).build(); return new RxNettyServerBackedServer(server, suites); }