List of usage examples for io.netty.channel ThreadPerChannelEventLoop ThreadPerChannelEventLoop
public ThreadPerChannelEventLoop(ThreadPerChannelEventLoopGroup parent)
From source file:com.stremebase.examples.todomvc.Todo.java
License:Apache License
public static void main(String[] args) throws Exception { css = new String(Files.readAllBytes(Paths.get(System.getProperty("user.dir"), "Web", "index.css"))); favicon = Files.readAllBytes(Paths.get(System.getProperty("user.dir"), "Web", "favicon.ico")); Table.setDefaultDb(new DB("user.dir")); data = new Data(itemTableId, "ITEMTABLE"); @SuppressWarnings("unchecked") Router<Integer> router = new Router<Integer>().GET("/", GET).GET("/filter/:filtertype", FILTER) .POST("/", POST).POST("/delete", DELETE).POST("/clearcompleted", DELETECOMPLETED) .POST("/toggle-status", TOGGLESTATUS) .GET(":something/index.css", CSS).GET("/index.css", CSS).GET("/favicon.ico", ICON) .notFound(NOTFOUND);/*from www.ja va 2 s . c om*/ System.out.println(router); OioEventLoopGroup bossGroup = new OioEventLoopGroup(1); SingleThreadEventLoop workerGroup = new ThreadPerChannelEventLoop(bossGroup); try { ServerBootstrap b = new ServerBootstrap(); b.group(bossGroup, workerGroup).childOption(ChannelOption.TCP_NODELAY, java.lang.Boolean.TRUE) .childOption(ChannelOption.SO_KEEPALIVE, java.lang.Boolean.TRUE) .childOption(ChannelOption.SO_REUSEADDR, java.lang.Boolean.TRUE) .channel(OioServerSocketChannel.class).childHandler(new HttpRouterServerInitializer(router)); Channel ch = b.bind(PORT).sync().channel(); System.out.println("Server started: http://127.0.0.1:" + PORT + '/'); ch.closeFuture().sync(); } finally { bossGroup.shutdownGracefully(); workerGroup.shutdownGracefully(); } }