public Worker[] getWorkers() { return ((NioSocketAcceptor) getAcceptor()).getWorkers(); } }
TcpTransport(Properties configuration) { extensionFactory = TcpExtensionFactory.newInstance(); acceptor = new NioSocketAcceptor(configuration, extensionFactory); connector = new NioSocketConnector(configuration); }
@Override public void dispose() { super.dispose(); if (tcpAcceptor != null) { tcpAcceptor.dispose(); } } }
@Override protected IoConnectorEx initConnector() { DatagramChannelIoSessionConfig config = new DefaultDatagramChannelIoSessionConfig(); WorkerPool<NioWorker> workerPool = tcpAcceptor.initWorkerPool(logger, "UDP connector: {}", getConfiguration()); /*NioClientDatagramChannelFactory*/ channelFactory = new NioClientDatagramChannelFactory(workerPool); NioDatagramChannelIoConnector connector = new NioDatagramChannelIoConnector(config, channelFactory); String readBufferSize = configuration.getProperty("org.kaazing.gateway.transport.udp.READ_BUFFER_SIZE"); String minimumReadBufferSize = configuration.getProperty("org.kaazing.gateway.transport.udp.MINIMUM_READ_BUFFER_SIZE"); String maximumReadBufferSize = configuration.getProperty("org.kaazing.gateway.transport.udp.MAXIMUM_READ_BUFFER_SIZE"); if (readBufferSize != null) { connector.getSessionConfig().setReadBufferSize(Integer.parseInt(readBufferSize)); logger.debug("READ_BUFFER_SIZE setting for UDP connector: {}", readBufferSize); } if (minimumReadBufferSize != null) { connector.getSessionConfig().setMinReadBufferSize(Integer.parseInt(minimumReadBufferSize)); logger.debug("MINIMUM_READ_BUFFER_SIZE setting for UDP connector: {}", minimumReadBufferSize); } if (maximumReadBufferSize != null) { connector.getSessionConfig().setMaxReadBufferSize(Integer.parseInt(maximumReadBufferSize)); logger.debug("MAXIMUM_READ_BUFFER_SIZE setting for UDP connector: {}", maximumReadBufferSize); } return connector; }
public Worker[] getWorkers() { // KG-10074: if only non-TCP binds, worker pool may not yet be initialized (causing NPE below) initIfNecessary(); return currentWorkerPool.get().workers; }
@Override protected IoAcceptorEx initAcceptor(final IoSessionInitializer<? extends IoFuture> initializer) { DatagramChannelIoSessionConfig config = new DefaultDatagramChannelIoSessionConfig(); WorkerPool<NioWorker> workerPool = tcpAcceptor.initWorkerPool(logger, "UDP acceptor: {}", configuration); NioServerDatagramChannelFactory channelFactory = new NioServerDatagramChannelFactory(newCachedThreadPool(), 1, workerPool); NioDatagramChannelIoAcceptor acceptor = new NioDatagramChannelIoAcceptor(config, channelFactory); acceptor.setIoSessionInitializer(initializer); String readBufferSize = configuration.getProperty("org.kaazing.gateway.transport.udp.READ_BUFFER_SIZE"); if (readBufferSize != null) { acceptor.getSessionConfig().setReadBufferSize(Integer.parseInt(readBufferSize)); logger.debug("READ_BUFFER_SIZE setting for UDP acceptor: {}", readBufferSize); } String minimumReadBufferSize = configuration.getProperty(TCP_MINIMUM_READ_BUFFER_SIZE.getPropertyName()); if (minimumReadBufferSize != null) { acceptor.getSessionConfig().setMinReadBufferSize(Integer.parseInt(minimumReadBufferSize)); logger.debug("MINIMUM_READ_BUFFER_SIZE setting for UDP acceptor: {}", minimumReadBufferSize); } String maximumReadBufferSize = configuration.getProperty(TCP_MAXIMUM_READ_BUFFER_SIZE.getPropertyName()); if (maximumReadBufferSize != null) { acceptor.getSessionConfig().setMaxReadBufferSize(Integer.parseInt(maximumReadBufferSize)); logger.debug("MAXIMUM_READ_BUFFER_SIZE setting for UDP acceptor: {}", maximumReadBufferSize); } int idleTimeout = UDP_IDLE_TIMEOUT.getIntProperty(configuration); acceptor.getSessionConfig().setIdleTime(IdleStatus.BOTH_IDLE, idleTimeout); return acceptor; }
Worker[] workers = tcpAcceptor.getWorkers(); int randomWorker = (int)(Math.random() * workers.length); workers[randomWorker].executeInIoThread(delegateGetConnectFuture);
WorkerPool<NioWorker> workerPool = tcpAcceptor.initWorkerPool(logger, "TCP connector: {}", getConfiguration()); int bossCount = 1; NioClientSocketChannelFactory clientChannelFactory = new NioClientSocketChannelFactory(
Worker[] workers = tcpAcceptor.getWorkers(); assert preparedConnectionCount == 0 || preparedConnectionCount >= workers.length : "Prepared connection count must be 0, or >= number of IO threads"; int minCountPerThread = preparedConnectionCount / workers.length;
WorkerPool<NioWorker> workerPool = initWorkerPool(logger, "TCP acceptor: {}", configuration); NioServerSocketChannelFactory serverChannelFactory = new NioServerSocketChannelFactory( Executors.newCachedThreadPool(),