@Override public void execute(final PoolEntry<T, C> entry) { if (entry.getUpdated() <= deadline) { entry.discardConnection(CloseMode.GRACEFUL); } }
/** * @since 5.0 */ public void updateState(final Object state) { this.state = state; this.updated = getCurrentTime(); }
@Override public PoolStats getStats(final HttpRoute route) { return this.pool.getStats(route); }
@Test(expected = IllegalStateException.class) public void testReleaseUnknownEntry() throws Exception { final StrictConnPool<String, HttpConnection> pool = new StrictConnPool<>(2, 2); pool.release(new PoolEntry<String, HttpConnection>("somehost"), true); }
@Override public void releaseAndDiscard() { final PoolEntry<HttpHost, IOSession> poolEntry = poolEntryRef.getAndSet(null); if (poolEntry != null) { poolEntry.discardConnection(CloseMode.IMMEDIATE); connPool.release(poolEntry, false); } }
@Override public PoolStats getStats(final T route) { Args.notNull(route, "Route"); final PerRoutePool<T, C> routePool = getPool(route); return new PoolStats( routePool.getLeasedCount(), routePool.getPendingCount(), routePool.getAvailableCount(), routePool.getMax()); }
@Override public void release(final PoolEntry<T, C> entry, final boolean reusable) { if (entry == null) { return; } if (isShutDown.get()) { return; } final PerRoutePool<T, C> routePool = getPool(entry.getRoute()); if (connPoolListener != null) { connPoolListener.onLease(entry.getRoute(), this); } routePool.release(entry, reusable); }
@Test(expected = IllegalStateException.class) public void testReleaseUnknownEntry() throws Exception { final LaxConnPool<String, HttpConnection> pool = new LaxConnPool<>(2); pool.release(new PoolEntry<String, HttpConnection>("somehost"), true); }
@Override public void execute(final PoolEntry<T, C> entry) { if (entry.getUpdated() <= deadline) { entry.discardConnection(CloseMode.GRACEFUL); } }
void discardConnection() { final PoolEntry<HttpHost, HttpClientConnection> poolEntry = poolEntryRef.getAndSet(null); if (poolEntry != null) { poolEntry.discardConnection(CloseMode.IMMEDIATE); connPool.release(poolEntry, false); } }
@Override public PoolStats getStats(final T route) { Args.notNull(route, "Route"); final PerRoutePool<T, C> routePool = getPool(route); return new PoolStats( routePool.getLeasedCount(), routePool.getPendingCount(), routePool.getAvailableCount(), routePool.getMax()); }
@Override public void release(final PoolEntry<T, C> entry, final boolean reusable) { if (entry == null) { return; } if (isShutDown.get()) { return; } final PerRoutePool<T, C> routePool = getPool(entry.getRoute()); if (connPoolListener != null) { connPoolListener.onLease(entry.getRoute(), this); } routePool.release(entry, reusable); }
/** * @since 5.0 */ public void updateState(final Object state) { this.state = state; this.updated = getCurrentTime(); }
@Override public void execute(final PoolEntry<T, C> entry) { if (entry.getUpdated() <= deadline) { entry.discardConnection(CloseMode.GRACEFUL); } }
@Override public void releaseAndDiscard() { final PoolEntry<HttpHost, IOSession> poolEntry = poolEntryRef.getAndSet(null); if (poolEntry != null) { poolEntry.discardConnection(CloseMode.IMMEDIATE); connPool.release(poolEntry, false); } }
@Override public void execute(final PoolEntry<T, C> entry) { if (entry.getUpdated() <= deadline) { entry.discardConnection(CloseMode.GRACEFUL); } }
void discardConnection() { final PoolEntry<HttpHost, HttpClientConnection> poolEntry = poolEntryRef.getAndSet(null); if (poolEntry != null) { poolEntry.discardConnection(CloseMode.IMMEDIATE); connPool.release(poolEntry, false); } }