Example usage for org.apache.http.params CoreConnectionPNames TCP_NODELAY

List of usage examples for org.apache.http.params CoreConnectionPNames TCP_NODELAY

Introduction

In this page you can find the example usage for org.apache.http.params CoreConnectionPNames TCP_NODELAY.

Prototype

String TCP_NODELAY

To view the source code for org.apache.http.params CoreConnectionPNames TCP_NODELAY.

Click Source Link

Usage

From source file:org.devtcg.five.util.streaming.LocalHttpServer.java

public LocalHttpServer() {
    super("LocalHttpServer");

    mParams = new BasicHttpParams();
    mParams.setIntParameter(CoreConnectionPNames.SO_TIMEOUT, 5000)
            .setIntParameter(CoreConnectionPNames.SOCKET_BUFFER_SIZE, 8 * 1024)
            .setBooleanParameter(CoreConnectionPNames.STALE_CONNECTION_CHECK, false)
            .setBooleanParameter(CoreConnectionPNames.TCP_NODELAY, true);

    setDaemon(true);//w  w  w .j av  a2s . c o m
}

From source file:se.ginkou.interfaceio.InterfaceServer.java

public static void startServer() throws Exception {
    // HTTP parameters for the server
    HttpParams params = new SyncBasicHttpParams();
    params.setIntParameter(CoreConnectionPNames.SO_TIMEOUT, 5000)
            .setIntParameter(CoreConnectionPNames.SOCKET_BUFFER_SIZE, 8 * 1024)
            .setBooleanParameter(CoreConnectionPNames.TCP_NODELAY, true)
            .setParameter(CoreProtocolPNames.ORIGIN_SERVER, "HttpComponents/1.1");

    // Create HTTP protocol processing chain
    HttpProcessor httpproc = new ImmutableHttpProcessor(new HttpResponseInterceptor[] {
            // Use standard server-side protocol interceptors
            new ResponseDate(), new ResponseServer(), new ResponseContent(), new ResponseConnControl() });

    // Set up request handlers
    HttpAsyncRequestHandlerRegistry reqistry = new HttpAsyncRequestHandlerRegistry();
    reqistry.register("*/datatables", new DataTablesHandler());
    reqistry.register("*/loginmodules", new RuleFileHandler());
    reqistry.register("*/login", new LoginHandler());
    reqistry.register("*", new HttpFileHandler(new File("website")));
    reqistry.register("*/ping", new TestHandler());

    // Create server-side HTTP protocol handler
    HttpAsyncService protocolHandler = new HttpAsyncService(httpproc, new DefaultConnectionReuseStrategy(),
            reqistry, params) {//  w w  w  .  j  ava 2  s  .c  o m

        @Override
        public void connected(final NHttpServerConnection conn) {
            System.out.println(conn + ": connection open");
            super.connected(conn);
        }

        @Override
        public void closed(final NHttpServerConnection conn) {
            System.out.println(conn + ": connection closed");
            super.closed(conn);
        }
    };
    // Create HTTP connection factory
    NHttpConnectionFactory<DefaultNHttpServerConnection> connFactory;

    //        // Initialize SSL context
    //        ClassLoader cl = NHttpServer.class.getClassLoader();
    //        URL url = cl.getResource("my.keystore");
    //        if (url == null) {
    //            System.out.println("Keystore not found");
    //            System.exit(1);
    //        }
    //        KeyStore keystore  = KeyStore.getInstance("jks");
    //        keystore.load(url.openStream(), "secret".toCharArray());
    //        KeyManagerFactory kmfactory = KeyManagerFactory.getInstance(
    //                KeyManagerFactory.getDefaultAlgorithm());
    //        kmfactory.init(keystore, "secret".toCharArray());
    //        KeyManager[] keymanagers = kmfactory.getKeyManagers();
    //        SSLContext sslcontext = SSLContext.getInstance("TLS");
    //        sslcontext.init(keymanagers, null, null);
    //        connFactory = new SSLNHttpServerConnectionFactory(sslcontext, null, params);
    connFactory = new DefaultNHttpServerConnectionFactory(params);

    // Create server-side I/O event dispatch
    IOEventDispatch ioEventDispatch = new DefaultHttpServerIODispatch(protocolHandler, connFactory);
    // Create server-side I/O reactor
    ListeningIOReactor ioReactor = new DefaultListeningIOReactor();
    try {
        // Listen of the given port
        ioReactor.listen(new InetSocketAddress(PORT));
        // Ready to go!
        ioReactor.execute(ioEventDispatch);
    } catch (InterruptedIOException ex) {
        System.err.println("Interrupted");
    } catch (IOException e) {
        System.err.println("I/O error: " + e.getMessage());
    }
    System.out.println("Shutdown");
}

From source file:com.tejus.shavedog.HttpServer.java

public HttpServer(LocalInetAddressResolver localInetAddressResolver, int listenPort) {
    this.localInetAddressResolver = localInetAddressResolver;

    this.listenPort = listenPort;

    this.handlerRegistry = new HttpRequestHandlerRegistry();

    this.params = new BasicHttpParams();
    this.params.setParameter(CoreProtocolPNames.ORIGIN_SERVER, "4thLineAndroidHttpServer/1.0")
            .setIntParameter(CoreConnectionPNames.SO_TIMEOUT, 5000)
            .setIntParameter(CoreConnectionPNames.SOCKET_BUFFER_SIZE, 8 * 1024)
            .setBooleanParameter(CoreConnectionPNames.STALE_CONNECTION_CHECK, false)
            .setBooleanParameter(CoreConnectionPNames.TCP_NODELAY, true);

    if (Util.ANDROID_EMULATOR) {
        // Start immediately on emulator because there will never be a "WiFi switched on" event
        startServer();//w w  w .j a v  a2  s .com
    }
}

From source file:org.wso2.carbon.automation.extensions.servers.httpserver.SimpleHttpServer.java

public void start() throws IOException {
    serverSocket = new ServerSocket(port);
    params = new BasicHttpParams();
    params.setIntParameter(CoreConnectionPNames.SO_TIMEOUT,
            getParameter(CoreConnectionPNames.SO_TIMEOUT, 60000))
            .setIntParameter(CoreConnectionPNames.SOCKET_BUFFER_SIZE,
                    getParameter(CoreConnectionPNames.SOCKET_BUFFER_SIZE, 8 * 1024))
            .setBooleanParameter(CoreConnectionPNames.STALE_CONNECTION_CHECK,
                    getParameter(CoreConnectionPNames.STALE_CONNECTION_CHECK, 0) == 1)
            .setBooleanParameter(CoreConnectionPNames.TCP_NODELAY,
                    getParameter(CoreConnectionPNames.TCP_NODELAY, 1) == 1)
            .setParameter(CoreProtocolPNames.ORIGIN_SERVER, "WSO2ESB-Test-Server");
    // Configure HTTP protocol processor
    BasicHttpProcessor httpProcessor = new BasicHttpProcessor();
    httpProcessor.addInterceptor(new ResponseDate());
    httpProcessor.addInterceptor(new ResponseServer());
    httpProcessor.addInterceptor(new ResponseContent());
    httpProcessor.addInterceptor(new ResponseConnControl());
    HttpRequestHandlerRegistry registry = new HttpRequestHandlerRegistry();
    registry.register("*", requestHandler);
    // Set up the HTTP service
    httpService = new HttpService(httpProcessor, new DefaultConnectionReuseStrategy(),
            new DefaultHttpResponseFactory(), registry, params);
    listener = Executors.newSingleThreadExecutor();
    workerPool = Executors.newFixedThreadPool(getParameter("ThreadCount", 2));
    shutdown = false;/*  w w  w . j  a v  a 2s.co m*/
    listener.submit(new HttpListener());
}

From source file:niproxy.NiProxy.java

/**
 * Setups a monitoring http proxy and starts a non blocking listening
 * service based on a {@link NiProxyConfig}. This is based on the Apache 
 * Software Foundation's example code "Basic non-blocking HTTP server" that 
 * can be found from http://hc.apache.org/httpcomponents-core-ga/examples.html. 
 *///  w  w w.j a  va 2s . c  om
public NiProxy() {
    HttpParams params = new SyncBasicHttpParams();
    params.setIntParameter(CoreConnectionPNames.SO_TIMEOUT, NiProxyConfig.getHttpConnectionTimeout())
            .setIntParameter(CoreConnectionPNames.SOCKET_BUFFER_SIZE, 8 * 1024)
            .setBooleanParameter(CoreConnectionPNames.STALE_CONNECTION_CHECK, false)
            .setBooleanParameter(CoreConnectionPNames.TCP_NODELAY, true);

    HttpProcessor httpproc = new ImmutableHttpProcessor(new HttpResponseInterceptor[] { new ResponseDate(),
            new ResponseServer(), new ResponseContent(), new ResponseConnControl() });

    AsyncNHttpServiceHandler handler = new AsyncNHttpServiceHandler(httpproc, new DefaultHttpResponseFactory(),
            new DefaultConnectionReuseStrategy(), params);

    // Set up request handlers
    NHttpRequestHandlerRegistry registry = new NHttpRequestHandlerRegistry();
    registry.register("*", NiProxyMonitor.get());

    handler.setHandlerResolver(registry);

    // Provide an event logger
    handler.setEventListener(new EventLogger());

    IOEventDispatch ioEventDispatch = new DefaultServerIOEventDispatch(handler, params);
    try {
        logger.info("Setting up " + NiProxyConfig.getIOReactorWorkersCount() + " IOReactor workers");
        ListeningIOReactor ioReactor = new DefaultListeningIOReactor(NiProxyConfig.getIOReactorWorkersCount(),
                params);
        String host = NiProxyConfig.getNiProxyHost();
        int port = NiProxyConfig.getNiProxyPort();
        logger.info("Listening for connections at " + host + ":" + port);
        ioReactor.listen(new InetSocketAddress(host, port));
        logger.info("NiProxy set up done. Launching event dispatch...");
        ioReactor.execute(ioEventDispatch);
    } catch (Exception e) {
        logger.error("I/O reactor was interrupted. Exception: " + e);
        e.printStackTrace();
    }
    logger.info("NiProxy server shutdown.");
}

From source file:com.jcn.dlna.sdk.dms.httpserver.HttpServer.java

private HttpServer(WifiManager wifiManager) {
    this.wifiManager = wifiManager;
    this.listenPort = 0;

    this.handlerRegistry = new HttpRequestHandlerRegistry();

    this.params = new BasicHttpParams();
    this.params.setParameter(CoreProtocolPNames.ORIGIN_SERVER, "4thLineAndroidHttpServer/1.0")
            .setIntParameter(CoreConnectionPNames.SO_TIMEOUT, 5000)
            .setIntParameter(CoreConnectionPNames.SOCKET_BUFFER_SIZE, 8 * 1024)
            .setBooleanParameter(CoreConnectionPNames.STALE_CONNECTION_CHECK, false)
            .setBooleanParameter(CoreConnectionPNames.TCP_NODELAY, true);

    startServer();/*  ww w. j a v  a  2 s  . c o  m*/
}

From source file:com.amalto.workbench.utils.HttpClientUtil.java

private static DefaultHttpClient createClient() {
    HttpParams params = new BasicHttpParams();
    params.setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, CONNECT_TIMEOUT);
    params.setParameter(CoreConnectionPNames.SO_TIMEOUT, SOCKET_TIMEOUT);
    params.setParameter(CoreConnectionPNames.TCP_NODELAY, false);
    HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1);
    return new DefaultHttpClient(cm, params);
}

From source file:com.subgraph.vega.internal.http.proxy.HttpProxy.java

public HttpProxy(int listenPort, ProxyTransactionManipulator transactionManipulator,
        HttpInterceptor interceptor, IHttpRequestEngine requestEngine,
        SSLContextRepository sslContextRepository) {
    this.eventHandlers = new ArrayList<IHttpInterceptProxyEventHandler>();
    this.transactionManipulator = transactionManipulator;
    this.interceptor = interceptor;
    this.listenPort = listenPort;
    this.params = new BasicHttpParams();
    this.params.setIntParameter(CoreConnectionPNames.SO_TIMEOUT, 0)
            .setIntParameter(CoreConnectionPNames.SOCKET_BUFFER_SIZE, 8 * 1024)
            //      .setBooleanParameter(CoreConnectionPNames.STALE_CONNECTION_CHECK, false)
            .setBooleanParameter(CoreConnectionPNames.TCP_NODELAY, true);

    BasicHttpProcessor inProcessor = new BasicHttpProcessor();
    inProcessor.addInterceptor(new ResponseConnControl());
    inProcessor.addInterceptor(new ResponseContentCustom());

    HttpRequestHandlerRegistry registry = new HttpRequestHandlerRegistry();
    registry.register("*", new ProxyRequestHandler(this, logger, requestEngine));

    httpService = new VegaHttpService(inProcessor, new DefaultConnectionReuseStrategy(),
            new DefaultHttpResponseFactory(), registry, params, sslContextRepository);

    connectionList = new ArrayList<ConnectionTask>();
}

From source file:org.jclouds.http.apachehc.config.ApacheHCHttpCommandExecutorServiceModule.java

@Singleton
@Provides//from  ww  w. j a  v a2  s .c om
final HttpParams newBasicHttpParams(HttpUtils utils) {
    BasicHttpParams params = new BasicHttpParams();

    params.setIntParameter(CoreConnectionPNames.SOCKET_BUFFER_SIZE, 8 * 1024)
            .setBooleanParameter(CoreConnectionPNames.STALE_CONNECTION_CHECK, true)
            .setBooleanParameter(CoreConnectionPNames.TCP_NODELAY, true)
            .setParameter(CoreProtocolPNames.ORIGIN_SERVER, "jclouds/1.0");

    if (utils.getConnectionTimeout() > 0) {
        params.setIntParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, utils.getConnectionTimeout());
    }

    if (utils.getSocketOpenTimeout() > 0) {
        params.setIntParameter(CoreConnectionPNames.SO_TIMEOUT, utils.getSocketOpenTimeout());
    }

    if (utils.getMaxConnections() > 0)
        ConnManagerParams.setMaxTotalConnections(params, utils.getMaxConnections());

    if (utils.getMaxConnectionsPerHost() > 0) {
        ConnPerRoute connectionsPerRoute = new ConnPerRouteBean(utils.getMaxConnectionsPerHost());
        ConnManagerParams.setMaxConnectionsPerRoute(params, connectionsPerRoute);
    }
    HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1);
    return params;
}

From source file:com.almende.reaal.apachehttp.ApacheHttpClient.java

/**
 * Instantiates a new apache http client.
 *
 *///from   w w w  . ja  v a2  s.c  o m
private ApacheHttpClient() {

    // Allow self-signed SSL certificates:
    final TrustStrategy trustStrategy = new TrustSelfSignedStrategy();
    final X509HostnameVerifier hostnameVerifier = new AllowAllHostnameVerifier();
    final SchemeRegistry schemeRegistry = SchemeRegistryFactory.createDefault();

    SSLSocketFactory sslSf;
    try {
        sslSf = new SSLSocketFactory(trustStrategy, hostnameVerifier);
        final Scheme https = new Scheme("https", 443, sslSf);
        schemeRegistry.register(https);
    } catch (Exception e) {
        LOG.warning("Couldn't init SSL socket, https not supported!");
    }

    // Work with PoolingClientConnectionManager
    final ClientConnectionManager connection = new PoolingClientConnectionManager(schemeRegistry);

    // Provide eviction thread to clear out stale threads.
    new Thread(new Runnable() {
        @Override
        public void run() {
            try {
                while (true) {
                    synchronized (this) {
                        wait(5000);
                        connection.closeExpiredConnections();
                        connection.closeIdleConnections(30, TimeUnit.SECONDS);
                    }
                }
            } catch (final InterruptedException ex) {
            }
        }
    }).start();

    // generate httpclient
    httpClient = new DefaultHttpClient(connection);

    final HttpParams params = httpClient.getParams();

    params.setParameter(ClientPNames.COOKIE_POLICY, CookiePolicy.BROWSER_COMPATIBILITY);
    params.setParameter(CoreConnectionPNames.SO_TIMEOUT, 60000);
    params.setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, 20000);
    params.setParameter(CoreConnectionPNames.STALE_CONNECTION_CHECK, false);
    params.setParameter(CoreConnectionPNames.TCP_NODELAY, true);
    httpClient.setParams(params);
}