@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 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 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(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(); }
/** * Returns the {@link FilterChainBuilder}, developers may use to build there * custom protocol filter chain. * The returned {@link FilterChainBuilder} may have some {@link Filter}s pre-added. * * @return {@link FilterChainBuilder}. */ public FilterChainBuilder getPUFilterChainBuilder() { final FilterChainBuilder builder = FilterChainBuilder.stateless(); builder.add(backChannelFilter); return builder; }
/** * Returns the {@link FilterChainBuilder}, developers may use to build there * custom protocol filter chain. * The returned {@link FilterChainBuilder} may have some {@link Filter}s pre-added. * * @return {@link FilterChainBuilder}. */ public FilterChainBuilder getPUFilterChainBuilder() { final FilterChainBuilder builder = FilterChainBuilder.stateless(); builder.add(backChannelFilter); return builder; }
/** * Returns the {@link FilterChainBuilder}, developers may use to build there * custom protocol filter chain. * The returned {@link FilterChainBuilder} may have some {@link Filter}s pre-added. * * @return {@link FilterChainBuilder}. */ public FilterChainBuilder getPUFilterChainBuilder() { final FilterChainBuilder builder = FilterChainBuilder.stateless(); builder.add(backChannelFilter); return builder; }
/** * Returns the {@link FilterChainBuilder}, developers may use to build there * custom protocol filter chain. * The returned {@link FilterChainBuilder} may have some {@link Filter}s pre-added. * * @return {@link FilterChainBuilder}. */ public FilterChainBuilder getPUFilterChainBuilder() { final FilterChainBuilder builder = FilterChainBuilder.stateless(); builder.add(backChannelFilter); return builder; }
/** * Returns the {@link FilterChainBuilder}, developers may use to build there * custom protocol filter chain. * The returned {@link FilterChainBuilder} may have some {@link Filter}s pre-added. * * @return {@link FilterChainBuilder}. */ public FilterChainBuilder getPUFilterChainBuilder() { final FilterChainBuilder builder = FilterChainBuilder.stateless(); builder.add(backChannelFilter); return builder; }
/** * Returns the {@link FilterChainBuilder}, developers may use to build there * custom protocol filter chain. * The returned {@link FilterChainBuilder} may have some {@link Filter}s pre-added. * * @return {@link FilterChainBuilder}. */ public FilterChainBuilder getPUFilterChainBuilder() { final FilterChainBuilder builder = FilterChainBuilder.stateless(); builder.add(backChannelFilter); return builder; }
/** * Returns the {@link FilterChainBuilder}, developers may use to build there * custom protocol filter chain. * The returned {@link FilterChainBuilder} may have some {@link Filter}s pre-added. * * @return {@link FilterChainBuilder}. */ public FilterChainBuilder getPUFilterChainBuilder() { final FilterChainBuilder builder = FilterChainBuilder.stateless(); builder.add(backChannelFilter); return builder; }
/** * Returns the {@link FilterChainBuilder}, developers may use to build there * custom protocol filter chain. * The returned {@link FilterChainBuilder} may have some {@link Filter}s pre-added. * * @return {@link FilterChainBuilder}. */ public FilterChainBuilder getPUFilterChainBuilder() { final FilterChainBuilder builder = FilterChainBuilder.stateless(); builder.add(backChannelFilter); return builder; }
/** * Returns the {@link FilterChainBuilder}, developers may use to build there * custom protocol filter chain. * The returned {@link FilterChainBuilder} may have some {@link Filter}s pre-added. * * @return {@link FilterChainBuilder}. */ public FilterChainBuilder getPUFilterChainBuilder() { final FilterChainBuilder builder = FilterChainBuilder.stateless(); builder.add(backChannelFilter); return builder; }
/** * Returns the {@link FilterChainBuilder}, developers may use to build there * custom protocol filter chain. * The returned {@link FilterChainBuilder} may have some {@link Filter}s pre-added. * * @return {@link FilterChainBuilder}. */ public FilterChainBuilder getPUFilterChainBuilder() { final FilterChainBuilder builder = FilterChainBuilder.stateless(); builder.add(backChannelFilter); return builder; }
/** * Returns the {@link FilterChainBuilder}, developers may use to build there * custom protocol filter chain. * The returned {@link FilterChainBuilder} may have some {@link Filter}s pre-added. * * @return {@link FilterChainBuilder}. */ public FilterChainBuilder getPUFilterChainBuilder() { final FilterChainBuilder builder = FilterChainBuilder.stateless(); builder.add(backChannelFilter); return builder; }
protected void initializeTransport(final AsyncHttpClientConfig clientConfig) { final FilterChainBuilder fcb = FilterChainBuilder.stateless(); fcb.add(new TransportFilter());
private static Processor createFilterChain(SSLEngineConfigurator serverSSLEngineConfigurator, SSLEngineConfigurator clientSSLEngineConfigurator, boolean proxy) { FilterChainBuilder clientFilterChainBuilder = FilterChainBuilder.stateless(); clientFilterChainBuilder.add(new TransportFilter()); if (serverSSLEngineConfigurator != null || clientSSLEngineConfigurator != null) { clientFilterChainBuilder.add(new SSLFilter(serverSSLEngineConfigurator, clientSSLEngineConfigurator)); } clientFilterChainBuilder.add(new HttpClientFilter()); clientFilterChainBuilder.add(new WebSocketFilter(WebSocketFilter.DEFAULT_WS_IDLE_TIMEOUT_IN_SECONDS, proxy)); return clientFilterChainBuilder.build(); }
@Override public void configure(final ServiceLocator habitat, final NetworkListener networkListener) throws IOException { setName(networkListener.getName()); setAddress(InetAddress.getByName(networkListener.getAddress())); setPort(Integer.parseInt(networkListener.getPort())); configureDelayedExecutor(); final FilterChainBuilder filterChainBuilder = FilterChainBuilder.stateless(); configureTransport(networkListener, networkListener.findTransport(), filterChainBuilder); configureProtocol(habitat, networkListener, networkListener.findProtocol(), filterChainBuilder); configureThreadPool(habitat, networkListener, networkListener.findThreadPool()); rootFilterChain = filterChainBuilder.build(); transport.setProcessor(rootFilterChain); }
private void initializeClientTransport() throws IOException { final TCPNIOTransport tcpTransport = TCPNIOTransportBuilder.newInstance().build(); tcpTransport.start(); clientTransport = tcpTransport; final FilterChain clientFilterChain = FilterChainBuilder.stateless() .add(new TransportFilter()) .add(new StringFilter(Charsets.UTF8_CHARSET)) .add(new ClientFilter(this)) .build(); connectorHandler = TCPNIOConnectorHandler.builder(tcpTransport) .processor(clientFilterChain) .build(); }
public void testEventDownstream() throws Exception { final Connection connection = new TCPNIOConnection(TCPNIOTransportBuilder.newInstance().build(), null); counterAttr.set(connection, new AtomicInteger(3)); final FilterChain chain = FilterChainBuilder.stateless() .add(new EventCounterFilter(0)) .add(new EventCounterFilter(1)) .add(new EventCounterFilter(2)) .add(new EventCounterFilter(3)) .build(); final FutureImpl<FilterChainContext> resultFuture = Futures.createSafeFuture(); chain.fireEventDownstream(connection, DEC_EVENT, Futures.toCompletionHandler(resultFuture)); resultFuture.get(10, TimeUnit.SECONDS); }