private EventLoopGroup kqueueEventLoopGroup(int numThreads, Executor executor) { return new KQueueEventLoopGroup(numThreads, executor); } }
@Override public EventLoopGroup eventLoopGroup(int nThreads, ThreadFactory threadFactory, int ioRatio) { KQueueEventLoopGroup eventLoopGroup = new KQueueEventLoopGroup(nThreads, threadFactory); eventLoopGroup.setIoRatio(ioRatio); return eventLoopGroup; }
@Override public void setIoRatio(int workerIoRatio) { EventLoopGroup worker = worker(); if (worker instanceof EpollEventLoopGroup) { ((EpollEventLoopGroup) worker).setIoRatio(workerIoRatio); } else if (worker instanceof KQueueEventLoopGroup) { ((KQueueEventLoopGroup) worker).setIoRatio(workerIoRatio); } }
@Override public void setIoRatio(int workerIoRatio) { EventLoopGroup worker = worker(); if (worker instanceof EpollEventLoopGroup) { ((EpollEventLoopGroup) worker).setIoRatio(workerIoRatio); } else if (worker instanceof KQueueEventLoopGroup) { ((KQueueEventLoopGroup) worker).setIoRatio(workerIoRatio); } }
public EventLoopGroup kqueueGroup() { EventLoopGroup nioEventLoopGroup = new KQueueEventLoopGroup(0, createThreadFactory()); bootstrap.group(nioEventLoopGroup).channel(KQueueDomainSocketChannel.class) .handler(new ChannelInitializer<KQueueDomainSocketChannel>() { @Override protected void initChannel(final KQueueDomainSocketChannel channel) throws Exception { channel.pipeline().addLast(new HttpClientCodec()); channel.pipeline().addLast(new HttpContentDecompressor()); } }); return nioEventLoopGroup; }
@Override public EventLoopGroup eventLoopGroup(int nThreads, ThreadFactory threadFactory, int ioRatio) { KQueueEventLoopGroup eventLoopGroup = new KQueueEventLoopGroup(nThreads, threadFactory); eventLoopGroup.setIoRatio(ioRatio); return eventLoopGroup; }
@Override public void setIoRatio(int bossIoRatio, int workerIoRatio) { EventLoopGroup boss = boss(); if (boss instanceof EpollEventLoopGroup) { ((EpollEventLoopGroup) boss).setIoRatio(bossIoRatio); } else if (boss instanceof KQueueEventLoopGroup) { ((KQueueEventLoopGroup) boss).setIoRatio(bossIoRatio); } EventLoopGroup worker = worker(); if (worker instanceof EpollEventLoopGroup) { ((EpollEventLoopGroup) worker).setIoRatio(workerIoRatio); } else if (worker instanceof KQueueEventLoopGroup) { ((KQueueEventLoopGroup) worker).setIoRatio(workerIoRatio); } }
public EventLoopGroup kqueueGroup() { EventLoopGroup nioEventLoopGroup = new KQueueEventLoopGroup(0, new DefaultThreadFactory(threadPrefix)); bootstrap.group(nioEventLoopGroup).channel(KQueueDomainSocketChannel.class) .handler(new ChannelInitializer<KQueueDomainSocketChannel>() { @Override protected void initChannel(final KQueueDomainSocketChannel channel) throws Exception { channel.pipeline().addLast(new LoggingHandler(getClass())); channel.pipeline().addLast(new HttpClientCodec()); channel.pipeline().addLast(new HttpContentDecompressor()); } }); return nioEventLoopGroup; }
@Override public void setIoRatio(int bossIoRatio, int workerIoRatio) { EventLoopGroup boss = boss(); if (boss instanceof EpollEventLoopGroup) { ((EpollEventLoopGroup) boss).setIoRatio(bossIoRatio); } else if (boss instanceof KQueueEventLoopGroup) { ((KQueueEventLoopGroup) boss).setIoRatio(bossIoRatio); } EventLoopGroup worker = worker(); if (worker instanceof EpollEventLoopGroup) { ((EpollEventLoopGroup) worker).setIoRatio(workerIoRatio); } else if (worker instanceof KQueueEventLoopGroup) { ((KQueueEventLoopGroup) worker).setIoRatio(workerIoRatio); } }
/** * Creates an instance for the specified server. * * @param server the associated GlowServer * @param latch The countdown latch used during server startup to wait for network server * binding. */ public GlowDatagramServer(GlowServer server, CountDownLatch latch) { super(server, latch); boolean epoll = GlowServer.EPOLL; boolean kqueue = GlowServer.KQUEUE; group = epoll ? new EpollEventLoopGroup() : kqueue ? new KQueueEventLoopGroup() : new NioEventLoopGroup(); bootstrap = new Bootstrap(); bootstrap .group(group) .channel(epoll ? EpollDatagramChannel.class : kqueue ? KQueueDatagramChannel.class : NioDatagramChannel.class) .option(ChannelOption.SO_KEEPALIVE, true); }
@Override public void setIoRatio(int workerIoRatio) { EventLoopGroup worker = worker(); if (worker instanceof EpollEventLoopGroup) { ((EpollEventLoopGroup) worker).setIoRatio(workerIoRatio); } else if (worker instanceof KQueueEventLoopGroup) { ((KQueueEventLoopGroup) worker).setIoRatio(workerIoRatio); } else if (worker instanceof NioEventLoopGroup) { ((NioEventLoopGroup) worker).setIoRatio(workerIoRatio); } }
/** * Creates an instance for the specified server. * * @param server the associated GlowServer * @param latch The countdown latch used during server startup to wait for network server * binding. */ public GlowSocketServer(GlowServer server, CountDownLatch latch) { super(server, latch); boolean epoll = GlowServer.EPOLL; boolean kqueue = GlowServer.KQUEUE; bossGroup = epoll ? new EpollEventLoopGroup() : kqueue ? new KQueueEventLoopGroup() : new NioEventLoopGroup(); workerGroup = epoll ? new EpollEventLoopGroup() : kqueue ? new KQueueEventLoopGroup() : new NioEventLoopGroup(); bootstrap = new ServerBootstrap(); bootstrap .group(bossGroup, workerGroup) .channel(epoll ? EpollServerSocketChannel.class : kqueue ? KQueueServerSocketChannel.class : NioServerSocketChannel.class) .childOption(ChannelOption.TCP_NODELAY, true) .childOption(ChannelOption.SO_KEEPALIVE, true); }
@Override public void setIoRatio(int workerIoRatio) { EventLoopGroup worker = worker(); if (worker instanceof EpollEventLoopGroup) { ((EpollEventLoopGroup) worker).setIoRatio(workerIoRatio); } else if (worker instanceof KQueueEventLoopGroup) { ((KQueueEventLoopGroup) worker).setIoRatio(workerIoRatio); } else if (worker instanceof NioEventLoopGroup) { ((NioEventLoopGroup) worker).setIoRatio(workerIoRatio); } }
@Override protected EventLoopGroup initEventLoopGroup(int nThreads, ThreadFactory tFactory) { SocketChannelProvider.SocketType socketType = socketType(); switch (socketType) { case NATIVE_EPOLL_DOMAIN: return new EpollEventLoopGroup(nThreads, tFactory); case NATIVE_KQUEUE_DOMAIN: return new KQueueEventLoopGroup(nThreads, tFactory); default: throw new IllegalStateException("Invalid socket type: " + socketType); } }
@Override public void setIoRatio(int bossIoRatio, int workerIoRatio) { EventLoopGroup boss = boss(); if (boss instanceof EpollEventLoopGroup) { ((EpollEventLoopGroup) boss).setIoRatio(bossIoRatio); } else if (boss instanceof KQueueEventLoopGroup) { ((KQueueEventLoopGroup) boss).setIoRatio(bossIoRatio); } else if (boss instanceof NioEventLoopGroup) { ((NioEventLoopGroup) boss).setIoRatio(bossIoRatio); } EventLoopGroup worker = worker(); if (worker instanceof EpollEventLoopGroup) { ((EpollEventLoopGroup) worker).setIoRatio(workerIoRatio); } else if (worker instanceof KQueueEventLoopGroup) { ((KQueueEventLoopGroup) worker).setIoRatio(workerIoRatio); } else if (worker instanceof NioEventLoopGroup) { ((NioEventLoopGroup) worker).setIoRatio(workerIoRatio); } }
@Override protected EventLoopGroup initEventLoopGroup(int nThreads, ThreadFactory tFactory) { SocketChannelProvider.SocketType socketType = socketType(); switch (socketType) { case NATIVE_EPOLL_DOMAIN: return new EpollEventLoopGroup(nThreads, tFactory); case NATIVE_KQUEUE_DOMAIN: return new KQueueEventLoopGroup(nThreads, tFactory); default: throw new IllegalStateException("Invalid socket type: " + socketType); } }
@Override public void setIoRatio(int bossIoRatio, int workerIoRatio) { EventLoopGroup boss = boss(); if (boss instanceof EpollEventLoopGroup) { ((EpollEventLoopGroup) boss).setIoRatio(bossIoRatio); } else if (boss instanceof KQueueEventLoopGroup) { ((KQueueEventLoopGroup) boss).setIoRatio(bossIoRatio); } else if (boss instanceof NioEventLoopGroup) { ((NioEventLoopGroup) boss).setIoRatio(bossIoRatio); } EventLoopGroup worker = worker(); if (worker instanceof EpollEventLoopGroup) { ((EpollEventLoopGroup) worker).setIoRatio(workerIoRatio); } else if (worker instanceof KQueueEventLoopGroup) { ((KQueueEventLoopGroup) worker).setIoRatio(workerIoRatio); } else if (worker instanceof NioEventLoopGroup) { ((NioEventLoopGroup) worker).setIoRatio(workerIoRatio); } }
@Override protected EventLoopGroup initEventLoopGroup(int nThreads, ThreadFactory tFactory) { SocketChannelProvider.SocketType socketType = socketType(); switch (socketType) { case NATIVE_EPOLL_DOMAIN: return new EpollEventLoopGroup(nThreads, tFactory); case NATIVE_KQUEUE_DOMAIN: return new KQueueEventLoopGroup(nThreads, tFactory); default: throw new IllegalStateException("Invalid socket type: " + socketType); } }
@Override public void setIoRatio(int workerIoRatio) { EventLoopGroup worker = worker(); if (worker instanceof EpollEventLoopGroup) { ((EpollEventLoopGroup) worker).setIoRatio(workerIoRatio); } else if (worker instanceof KQueueEventLoopGroup) { ((KQueueEventLoopGroup) worker).setIoRatio(workerIoRatio); } }
@Override protected EventLoopGroup initEventLoopGroup(int nThreads, ThreadFactory tFactory) { SocketChannelProvider.SocketType socketType = socketType(); switch (socketType) { case NATIVE_EPOLL_DOMAIN: return new EpollEventLoopGroup(nThreads, tFactory); case NATIVE_KQUEUE_DOMAIN: return new KQueueEventLoopGroup(nThreads, tFactory); default: throw new IllegalStateException("Invalid socket type: " + socketType); } }