Example usage for org.apache.http.impl.nio.conn CPoolEntry CPoolEntry

List of usage examples for org.apache.http.impl.nio.conn CPoolEntry CPoolEntry

Introduction

In this page you can find the example usage for org.apache.http.impl.nio.conn CPoolEntry CPoolEntry.

Prototype

public CPoolEntry(final Log log, final String id, final HttpRoute route,
            final ManagedNHttpClientConnection conn, final long timeToLive, final TimeUnit tunit) 

Source Link

Usage

From source file:org.apache.http.impl.nio.conn.CPool.java

@Override
protected CPoolEntry createEntry(final HttpRoute route, final ManagedNHttpClientConnection conn) {
    final CPoolEntry entry = new CPoolEntry(this.log, conn.getId(), route, conn, this.timeToLive, this.tunit);
    entry.setSocketTimeout(conn.getSocketTimeout());
    return entry;
}

From source file:org.apache.http.impl.nio.conn.TestPoolingHttpClientAsyncConnectionManager.java

@Test
public void testRequestReleaseConnection() throws Exception {
    final HttpHost target = new HttpHost("localhost");
    final HttpRoute route = new HttpRoute(target);
    final Future<NHttpClientConnection> future = connman.requestConnection(route, "some state", 1000L, 2000L,
            TimeUnit.MILLISECONDS, connCallback);
    Assert.assertNotNull(future);//from  www  .  ja v a2  s  .co  m

    Mockito.verify(pool).lease(Matchers.same(route), Matchers.eq("some state"), Matchers.eq(1000L),
            Matchers.eq(2000L), Matchers.eq(TimeUnit.MILLISECONDS), poolEntryCallbackCaptor.capture());
    final FutureCallback<CPoolEntry> callaback = poolEntryCallbackCaptor.getValue();
    final Log log = Mockito.mock(Log.class);
    final CPoolEntry poolentry = new CPoolEntry(log, "some-id", route, conn, -1, TimeUnit.MILLISECONDS);
    poolentry.markRouteComplete();
    callaback.completed(poolentry);

    Assert.assertTrue(future.isDone());
    final NHttpClientConnection managedConn = future.get();
    Mockito.verify(connCallback).completed(Matchers.<NHttpClientConnection>any());

    Mockito.when(conn.isOpen()).thenReturn(Boolean.TRUE);
    connman.releaseConnection(managedConn, "new state", 5, TimeUnit.SECONDS);

    Mockito.verify(pool).release(poolentry, true);
    Assert.assertEquals("new state", poolentry.getState());
    final Calendar cal = Calendar.getInstance();
    cal.setTimeInMillis(poolentry.getUpdated());
    cal.add(Calendar.SECOND, 5);
    Assert.assertEquals(cal.getTimeInMillis(), poolentry.getExpiry());
}

From source file:org.apache.http.impl.nio.conn.TestPoolingHttpClientAsyncConnectionManager.java

@Test
public void testReleaseConnectionIncompleteRoute() throws Exception {
    final HttpHost target = new HttpHost("localhost");
    final HttpRoute route = new HttpRoute(target);
    final Future<NHttpClientConnection> future = connman.requestConnection(route, "some state", 1000L, 2000L,
            TimeUnit.MILLISECONDS, connCallback);
    Assert.assertNotNull(future);/*  www  .  j  a  v a2 s. c  o m*/

    Mockito.verify(pool).lease(Matchers.same(route), Matchers.eq("some state"), Matchers.eq(1000L),
            Matchers.eq(2000L), Matchers.eq(TimeUnit.MILLISECONDS), poolEntryCallbackCaptor.capture());
    final FutureCallback<CPoolEntry> callaback = poolEntryCallbackCaptor.getValue();
    final Log log = Mockito.mock(Log.class);
    final CPoolEntry poolentry = new CPoolEntry(log, "some-id", route, conn, -1, TimeUnit.MILLISECONDS);
    callaback.completed(poolentry);

    Assert.assertTrue(future.isDone());
    final NHttpClientConnection managedConn = future.get();
    Mockito.verify(connCallback).completed(Matchers.<NHttpClientConnection>any());

    Mockito.when(conn.isOpen()).thenReturn(Boolean.TRUE);
    connman.releaseConnection(managedConn, "new state", 5, TimeUnit.SECONDS);

    Mockito.verify(pool).release(poolentry, false);
}

From source file:org.apache.http.impl.nio.conn.TestPoolingHttpClientAsyncConnectionManager.java

@Test
public void testRequestConnectionFutureCancelled() throws Exception {
    final HttpHost target = new HttpHost("localhost");
    final HttpRoute route = new HttpRoute(target);
    final Future<NHttpClientConnection> future = connman.requestConnection(route, "some state", 1000L, 2000L,
            TimeUnit.MILLISECONDS, null);
    Assert.assertNotNull(future);//ww w  . j  a v  a 2 s .  c  o  m
    future.cancel(true);

    Mockito.verify(pool).lease(Matchers.same(route), Matchers.eq("some state"), Matchers.eq(1000L),
            Matchers.eq(2000L), Matchers.eq(TimeUnit.MILLISECONDS), poolEntryCallbackCaptor.capture());
    final FutureCallback<CPoolEntry> callaback = poolEntryCallbackCaptor.getValue();
    final Log log = Mockito.mock(Log.class);
    final CPoolEntry poolentry = new CPoolEntry(log, "some-id", route, conn, -1, TimeUnit.MILLISECONDS);
    poolentry.markRouteComplete();
    callaback.completed(poolentry);

    Mockito.verify(pool).release(poolentry, true);
}

From source file:org.apache.http.impl.nio.conn.TestPoolingHttpClientAsyncConnectionManager.java

@Test
public void testConnectionInitialize() throws Exception {
    final HttpHost target = new HttpHost("somehost", -1, "http");
    final HttpRoute route = new HttpRoute(target);
    final HttpContext context = new BasicHttpContext();

    final Log log = Mockito.mock(Log.class);
    final CPoolEntry poolentry = new CPoolEntry(log, "some-id", route, conn, -1, TimeUnit.MILLISECONDS);
    final NHttpClientConnection managedConn = CPoolProxy.newProxy(poolentry);

    Mockito.when(conn.getIOSession()).thenReturn(iosession);
    Mockito.when(sslStrategy.upgrade(target, iosession)).thenReturn(iosession);

    connman.startRoute(managedConn, route, context);

    Mockito.verify(noopStrategy, Mockito.never()).upgrade(target, iosession);
    Mockito.verify(conn, Mockito.never()).bind(iosession);

    Assert.assertFalse(connman.isRouteComplete(managedConn));
}

From source file:org.apache.http.impl.nio.conn.TestPoolingHttpClientAsyncConnectionManager.java

@Test
public void testConnectionInitializeHttps() throws Exception {
    final HttpHost target = new HttpHost("somehost", 443, "https");
    final HttpRoute route = new HttpRoute(target, null, true);
    final HttpContext context = new BasicHttpContext();

    final Log log = Mockito.mock(Log.class);
    final CPoolEntry poolentry = new CPoolEntry(log, "some-id", route, conn, -1, TimeUnit.MILLISECONDS);
    poolentry.markRouteComplete();/* w w  w  . j  a va2  s.c o  m*/
    final NHttpClientConnection managedConn = CPoolProxy.newProxy(poolentry);

    Mockito.when(conn.getIOSession()).thenReturn(iosession);
    Mockito.when(sslStrategy.upgrade(target, iosession)).thenReturn(iosession);

    connman.startRoute(managedConn, route, context);

    Mockito.verify(sslStrategy).upgrade(target, iosession);
    Mockito.verify(conn).bind(iosession);
}

From source file:org.apache.http.impl.nio.conn.TestPoolingHttpClientAsyncConnectionManager.java

@Test
public void testConnectionInitializeContextSpecific() throws Exception {
    final HttpHost target = new HttpHost("somehost", 80, "http11");
    final HttpRoute route = new HttpRoute(target);
    final HttpContext context = new BasicHttpContext();

    final Registry<SchemeIOSessionStrategy> reg = RegistryBuilder.<SchemeIOSessionStrategy>create()
            .register("http11", noopStrategy).build();
    context.setAttribute(PoolingNHttpClientConnectionManager.IOSESSION_FACTORY_REGISTRY, reg);

    final Log log = Mockito.mock(Log.class);
    final CPoolEntry poolentry = new CPoolEntry(log, "some-id", route, conn, -1, TimeUnit.MILLISECONDS);
    final NHttpClientConnection managedConn = CPoolProxy.newProxy(poolentry);

    Mockito.when(conn.getIOSession()).thenReturn(iosession);
    Mockito.when(sslStrategy.upgrade(target, iosession)).thenReturn(iosession);

    connman.startRoute(managedConn, route, context);

    Mockito.verify(noopStrategy, Mockito.never()).upgrade(target, iosession);
    Mockito.verify(conn, Mockito.never()).bind(iosession);

    Assert.assertFalse(connman.isRouteComplete(managedConn));
}

From source file:org.apache.http.impl.nio.conn.TestPoolingHttpClientAsyncConnectionManager.java

@Test(expected = UnsupportedSchemeException.class)
public void testConnectionInitializeUnknownScheme() throws Exception {
    final HttpHost target = new HttpHost("somehost", -1, "whatever");
    final HttpRoute route = new HttpRoute(target, null, true);
    final HttpContext context = new BasicHttpContext();

    final Log log = Mockito.mock(Log.class);
    final CPoolEntry poolentry = new CPoolEntry(log, "some-id", route, conn, -1, TimeUnit.MILLISECONDS);
    poolentry.markRouteComplete();//  ww  w . j  ava  2s . co m
    final NHttpClientConnection managedConn = CPoolProxy.newProxy(poolentry);

    Mockito.when(conn.getIOSession()).thenReturn(iosession);
    Mockito.when(sslStrategy.upgrade(target, iosession)).thenReturn(iosession);

    connman.startRoute(managedConn, route, context);
}

From source file:org.apache.http.impl.nio.conn.TestPoolingHttpClientAsyncConnectionManager.java

@Test
public void testConnectionUpgrade() throws Exception {
    final HttpHost target = new HttpHost("somehost", 443, "https");
    final HttpRoute route = new HttpRoute(target);
    final HttpContext context = new BasicHttpContext();

    final Log log = Mockito.mock(Log.class);
    final CPoolEntry poolentry = new CPoolEntry(log, "some-id", route, conn, -1, TimeUnit.MILLISECONDS);
    poolentry.markRouteComplete();// w w w .  ja  va 2s .  com
    final NHttpClientConnection managedConn = CPoolProxy.newProxy(poolentry);

    Mockito.when(conn.getIOSession()).thenReturn(iosession);
    Mockito.when(sslStrategy.upgrade(target, iosession)).thenReturn(iosession);

    connman.upgrade(managedConn, route, context);

    Mockito.verify(sslStrategy).upgrade(target, iosession);
    Mockito.verify(conn).bind(iosession);
}

From source file:org.apache.http.impl.nio.conn.TestPoolingHttpClientAsyncConnectionManager.java

@Test(expected = UnsupportedSchemeException.class)
public void testConnectionUpgradeUnknownScheme() throws Exception {
    final HttpHost target = new HttpHost("somehost", -1, "whatever");
    final HttpRoute route = new HttpRoute(target);
    final HttpContext context = new BasicHttpContext();

    final Log log = Mockito.mock(Log.class);
    final CPoolEntry poolentry = new CPoolEntry(log, "some-id", route, conn, -1, TimeUnit.MILLISECONDS);
    poolentry.markRouteComplete();/*from ww w. j av a2  s  .  c  o m*/
    final NHttpClientConnection managedConn = CPoolProxy.newProxy(poolentry);

    Mockito.when(conn.getIOSession()).thenReturn(iosession);
    Mockito.when(sslStrategy.upgrade(target, iosession)).thenReturn(iosession);

    connman.upgrade(managedConn, route, context);
}