Refine search
@Override protected void doOpen() throws Throwable { FilterChainBuilder filterChainBuilder = FilterChainBuilder.stateless(); filterChainBuilder.add(new TransportFilter()); filterChainBuilder.add(new GrizzlyCodecAdapter(getCodec(), getUrl(), this)); filterChainBuilder.add(new GrizzlyHandler(getUrl(), this)); TCPNIOTransportBuilder builder = TCPNIOTransportBuilder.newInstance(); ThreadPoolConfig config = builder.getWorkerThreadPoolConfig(); config.setPoolName(CLIENT_THREAD_POOL_NAME) .setQueueLimit(-1) .setCorePoolSize(0) .setMaxPoolSize(Integer.MAX_VALUE) .setKeepAliveTime(60L, TimeUnit.SECONDS); builder.setTcpNoDelay(true).setKeepAlive(true) .setConnectionTimeout(getConnectTimeout()) .setIOStrategy(SameThreadIOStrategy.getInstance()); transport = builder.build(); transport.setProcessor(filterChainBuilder.build()); transport.start(); }
@Override protected void doOpen() throws Throwable { FilterChainBuilder filterChainBuilder = FilterChainBuilder.stateless(); filterChainBuilder.add(new TransportFilter()); filterChainBuilder.add(new GrizzlyCodecAdapter(getCodec(), getUrl(), this)); filterChainBuilder.add(new GrizzlyHandler(getUrl(), this)); TCPNIOTransportBuilder builder = TCPNIOTransportBuilder.newInstance(); ThreadPoolConfig config = builder.getWorkerThreadPoolConfig(); config.setPoolName(SERVER_THREAD_POOL_NAME).setQueueLimit(-1); String threadpool = getUrl().getParameter(Constants.THREADPOOL_KEY, Constants.DEFAULT_THREADPOOL); if (Constants.DEFAULT_THREADPOOL.equals(threadpool)) { int threads = getUrl().getPositiveParameter(Constants.THREADS_KEY, Constants.DEFAULT_THREADS); config.setCorePoolSize(threads).setMaxPoolSize(threads) .setKeepAliveTime(0L, TimeUnit.SECONDS); } else if ("cached".equals(threadpool)) { int threads = getUrl().getPositiveParameter(Constants.THREADS_KEY, Integer.MAX_VALUE); config.setCorePoolSize(0).setMaxPoolSize(threads) .setKeepAliveTime(60L, TimeUnit.SECONDS); } else { throw new IllegalArgumentException("Unsupported threadpool type " + threadpool); } builder.setKeepAlive(true).setReuseAddress(false) .setIOStrategy(SameThreadIOStrategy.getInstance()); transport = builder.build(); transport.setProcessor(filterChainBuilder.build()); transport.bind(getBindAddress()); transport.start(); }
@Override public boolean isBound() { return !transport.isStopped(); }
if (isStarted()) { return; throw new IllegalStateException("No FilterChain available."); // i18n transport.setProcessor(filterChain); serverConnection = transport.bindToInherited(); } else { serverConnection = (port != -1) ? transport.bind(host, port) : transport.bind(host, portRange, transport.getServerConnectionBackLog()); transport.addShutdownListener(new GracefulShutdownListener() { @Override public void shutdownRequested(final ShutdownContext shutdownContext) { transport.start();
/** * {@inheritDoc} */ @Override public TCPNIOTransport build() { TCPNIOTransport transport = (TCPNIOTransport) super.build(); transport.setKeepAlive(keepAlive); transport.setLinger(linger); transport.setServerConnectionBackLog(serverConnectionBackLog); transport.setTcpNoDelay(tcpNoDelay); transport.setServerSocketSoTimeout(serverSocketSoTimeout); return transport; }
private void rebindAddress(final Connection connection) throws IOException { final Lock lock = state.getStateLocker().writeLock(); lock.lock(); try { if (Thread.currentThread().isInterrupted()) { Thread.interrupted(); } //noinspection SuspiciousMethodCalls if (serverConnections.remove(connection)) { final SocketAddress address = (SocketAddress) connection.getLocalAddress(); bind(address); } } finally { lock.unlock(); } }
clientTransport.getAsyncQueueIO().getWriter() .setMaxPendingBytesPerConnection(AsyncQueueWriter.AUTO_SIZE); clientTransport.setNIOChannelDistributor( new RoundRobinConnectionDistributor(clientTransport, false, false)); Runtime.getRuntime().availableProcessors(); clientTransport.setSelectorRunnersCount(kernelThreadsCount); clientTransport.setKernelThreadPoolConfig( ThreadPoolConfig.defaultConfig() .setCorePoolSize(kernelThreadsCount) clientTransport.setProcessor(fcb.build());
/** * {@inheritDoc} */ @Override public TCPNIOServerConnection bind(final String host, final int port) throws IOException { return bind(host, port, serverConnectionBackLog); }
public GrizzlyAsyncHttpProvider(final AsyncHttpClientConfig clientConfig) { this.clientConfig = clientConfig; this.providerConfig = clientConfig.getAsyncHttpProviderConfig() instanceof GrizzlyAsyncHttpProviderConfig ? (GrizzlyAsyncHttpProviderConfig) clientConfig.getAsyncHttpProviderConfig() : new GrizzlyAsyncHttpProviderConfig(); final TCPNIOTransportBuilder builder = TCPNIOTransportBuilder.newInstance(); clientTransport = builder.build(); initializeTransport(clientConfig); connectionManager = new ConnectionManager(this, clientTransport, providerConfig); try { clientTransport.start(); } catch (IOException ioe) { throw new RuntimeException(ioe); } }
public void setupServer() { servertransport = TCPNIOTransportBuilder.newInstance().build(); // no use for default memorymanager servertransport.configureStandalone(true); try { final TCPNIOServerConnection serverConnection = servertransport.bind(PORT); servertransport.start(); // Start echo server thread startEchoServerThread(servertransport, serverConnection); } catch (Exception ex) { LOGGER.log(Level.SEVERE, "Server start error", ex); } }
@Override public void close() { try { connectionManager.destroy(); clientTransport.shutdownNow(); final ExecutorService service = clientConfig.executorService(); if (service != null) { service.shutdown(); } if (timeoutExecutor != null) { timeoutExecutor.stop(); timeoutExecutor.getThreadPool().shutdownNow(); } } catch (IOException ignored) { } }
/** * {@inheritDoc} */ @Override public Reader<SocketAddress> getReader(final boolean isBlocking) { if (isBlocking) { return getTemporarySelectorIO().getReader(); } else { return getAsyncQueueIO().getReader(); } }
@Override public void tearDown() { try { poisonFuture.get(20, TimeUnit.SECONDS); clientWriter.close(); clientconnection.closeSilently(); servertransport.shutdownNow(); clienttransport.shutdownNow(); } catch (Exception ex) { LOGGER.log(Level.SEVERE, "Close", ex); } }
protected NIOTransport configureTCPTransport(final Transport transportConfig) { final TCPNIOTransport tcpTransport = TCPNIOTransportBuilder.newInstance().build(); tcpTransport.setTcpNoDelay(Boolean.parseBoolean(transportConfig.getTcpNoDelay())); tcpTransport.setLinger(Integer.parseInt(transportConfig.getLinger())); tcpTransport.setWriteTimeout(Long.parseLong(transportConfig.getWriteTimeoutMillis()), TimeUnit.MILLISECONDS); tcpTransport.setReadTimeout(Long.parseLong(transportConfig.getReadTimeoutMillis()), TimeUnit.MILLISECONDS); tcpTransport.setServerConnectionBackLog(Integer.parseInt(transportConfig.getMaxConnectionsCount())); return tcpTransport; }
@Override public synchronized HttpServer stop() { stopping = true; try { transport.unbind(serverConnection); return this; } finally { stopping = false; stopped = true; } }
/** * The maximum size, in bytes, of all data waiting to be written to the associated {@link Connection}. * If the value is zero or less, then no resource enforcement will take place. * * @param maxPendingBytes the maximum size, in bytes, of all data waiting to be written to the associated {@link * Connection}. */ public void setMaxPendingBytes(int maxPendingBytes) { this.maxPendingBytes = maxPendingBytes; transport.getAsyncQueueIO().getWriter().setMaxPendingBytesPerConnection(maxPendingBytes); }
if (isStarted()) { return; throw new IllegalStateException("No FilterChain available."); // i18n transport.setProcessor(filterChain); serverConnection = transport.bindToInherited(); } else { serverConnection = (port != -1) ? transport.bind(host, port) : transport.bind(host, portRange, transport.getServerConnectionBackLog()); transport.addShutdownListener(new GracefulShutdownListener() { @Override public void shutdownRequested(final ShutdownContext shutdownContext) { transport.start();
/** * {@inheritDoc} */ @Override public TCPNIOTransport build() { TCPNIOTransport transport = (TCPNIOTransport) super.build(); transport.setKeepAlive(keepAlive); transport.setLinger(linger); transport.setServerConnectionBackLog(serverConnectionBackLog); transport.setTcpNoDelay(tcpNoDelay); transport.setServerSocketSoTimeout(serverSocketSoTimeout); return transport; }
private void rebindAddress(final Connection connection) throws IOException { final Lock lock = state.getStateLocker().writeLock(); lock.lock(); try { if (Thread.currentThread().isInterrupted()) { Thread.interrupted(); } //noinspection SuspiciousMethodCalls if (serverConnections.remove(connection)) { final SocketAddress address = (SocketAddress) connection.getLocalAddress(); bind(address); } } finally { lock.unlock(); } } }
/** * {@inheritDoc} */ @Override public TCPNIOServerConnection bind(final String host, final int port) throws IOException { return bind(host, port, serverConnectionBackLog); }