io.netty.channel.nio.NioEventLoopGroup#setIoRatio ( )源码实例Demo

下面列出了io.netty.channel.nio.NioEventLoopGroup#setIoRatio ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: flashback   文件: ProxyServer.java
private ProxyServer(final Builder builder) {
  _acceptorGroup =
      new NioEventLoopGroup(2, new NamedThreadFactory("Client acceptor group"), SelectorProvider.provider());
  _upstreamWorkerGroup =
      new NioEventLoopGroup(8, new NamedThreadFactory("Client worker group"), SelectorProvider.provider());
  _upstreamWorkerGroup.setIoRatio(80);
  _downstreamWorkerGroup =
      new NioEventLoopGroup(8, new NamedThreadFactory("Server worker group"), SelectorProvider.provider());
  _downstreamWorkerGroup.setIoRatio(80);
  _host = builder._host;
  _port = builder._port;
  _serverConnectionIdleTimeout = builder._serverChannelIdleTimeout;
  _clientConnectionIdleTimeout = builder._clientChannelIdleTimeout;
  _connectionFlowRegistry = builder._connectionFlowRegistry;
  _proxyModeControllerFactory = builder._proxyModeControllerFactory;
}
 
源代码2 项目: serve   文件: Connector.java
public static EventLoopGroup newEventLoopGroup(int threads) {
    if (useNativeIo && Epoll.isAvailable()) {
        return new EpollEventLoopGroup(threads);
    } else if (useNativeIo && KQueue.isAvailable()) {
        return new KQueueEventLoopGroup(threads);
    }

    NioEventLoopGroup eventLoopGroup = new NioEventLoopGroup(threads);
    eventLoopGroup.setIoRatio(ConfigManager.getInstance().getIoRatio());
    return eventLoopGroup;
}
 
源代码3 项目: g4proxy   文件: ProxyThreadPools.java
public ProxyThreadPools(SelectorProvider selectorProvider, int incomingAcceptorThreads, int incomingWorkerThreads, int outgoingWorkerThreads, String serverGroupName, int serverGroupId) {
    clientToProxyAcceptorPool = new NioEventLoopGroup(incomingAcceptorThreads, new CategorizedThreadFactory(serverGroupName, "ClientToProxyAcceptor", serverGroupId), selectorProvider);

    clientToProxyWorkerPool = new NioEventLoopGroup(incomingWorkerThreads, new CategorizedThreadFactory(serverGroupName, "ClientToProxyWorker", serverGroupId), selectorProvider);
    clientToProxyWorkerPool.setIoRatio(90);

    proxyToServerWorkerPool = new NioEventLoopGroup(outgoingWorkerThreads, new CategorizedThreadFactory(serverGroupName, "ProxyToServerWorker", serverGroupId), selectorProvider);
    proxyToServerWorkerPool.setIoRatio(90);
}
 
protected EventLoopGroup newBossEventLoopGroup() {
        EventLoopGroup boss;
        if(enableEpoll){
            EpollEventLoopGroup epollBoss = new EpollEventLoopGroup(1,new ThreadFactoryX("Epoll","Server-Boss"));
//            epollBoss.setIoRatio(ioRatio);
            boss = epollBoss;
        }else {
            NioEventLoopGroup jdkBoss = new NioEventLoopGroup(1,new ThreadFactoryX("NIO","Server-Boss"));
            jdkBoss.setIoRatio(ioRatio);
            boss = jdkBoss;
        }
        return boss;
    }
 
protected EventLoopGroup newWorkerEventLoopGroup() {
        EventLoopGroup worker;
        if(enableEpoll){
            EpollEventLoopGroup epollWorker = new EpollEventLoopGroup(ioThreadCount,new ThreadFactoryX("Epoll",namePre+"Client-Worker"));
//            epollWorker.setIoRatio(ioRatio);
            worker = epollWorker;
        }else {
            NioEventLoopGroup nioWorker = new NioEventLoopGroup(ioThreadCount,new ThreadFactoryX("NIO",namePre+"Client-Worker"));
            nioWorker.setIoRatio(ioRatio);
            worker = nioWorker;
        }
        return worker;
    }
 
源代码6 项目: multi-model-server   文件: Connector.java
public static EventLoopGroup newEventLoopGroup(int threads) {
    if (useNativeIo && Epoll.isAvailable()) {
        return new EpollEventLoopGroup(threads);
    } else if (useNativeIo && KQueue.isAvailable()) {
        return new KQueueEventLoopGroup(threads);
    }

    NioEventLoopGroup eventLoopGroup = new NioEventLoopGroup(threads);
    eventLoopGroup.setIoRatio(ConfigManager.getInstance().getIoRatio());
    return eventLoopGroup;
}
 
源代码7 项目: mpush   文件: NettyUDPConnector.java
private void createNioServer(Listener listener) {
    NioEventLoopGroup eventLoopGroup = new NioEventLoopGroup(
            1, new DefaultThreadFactory(ThreadNames.T_GATEWAY_WORKER)
    );
    eventLoopGroup.setIoRatio(100);
    createServer(listener, eventLoopGroup, () -> new NioDatagramChannel(IPv4));//默认是根据机器情况创建Channel,如果机器支持ipv6,则无法使用ipv4的地址加入组播
}
 
源代码8 项目: mpush   文件: NettyTCPClient.java
private void createNioClient(Listener listener) {
    NioEventLoopGroup workerGroup = new NioEventLoopGroup(
            getWorkThreadNum(), new DefaultThreadFactory(ThreadNames.T_TCP_CLIENT), getSelectorProvider()
    );
    workerGroup.setIoRatio(getIoRate());
    createClient(listener, workerGroup, getChannelFactory());
}