@Override public int getMaxPerRoute(final T route) { Args.notNull(route, "Route"); final PerRoutePool<T, C> routePool = getPool(route); return routePool.getMax(); }
@Override public int getMaxPerRoute(final T route) { Args.notNull(route, "Route"); final PerRoutePool<T, C> routePool = getPool(route); return routePool.getMax(); }
@Override public void setMaxPerRoute(final T route, final int max) { Args.notNull(route, "Route"); final PerRoutePool<T, C> routePool = getPool(route); routePool.setMax(max > -1 ? max : defaultMaxPerRoute); }
@Override public void setMaxPerRoute(final T route, final int max) { Args.notNull(route, "Route"); final PerRoutePool<T, C> routePool = getPool(route); routePool.setMax(max > -1 ? max : defaultMaxPerRoute); }
@Override public Future<PoolEntry<T, C>> lease( final T route, final Object state, final Timeout requestTimeout, final FutureCallback<PoolEntry<T, C>> callback) { Args.notNull(route, "Route"); Asserts.check(!isShutDown.get(), "Connection pool shut down"); final PerRoutePool<T, C> routePool = getPool(route); return routePool.lease(state, requestTimeout, callback); }
@Override public Future<PoolEntry<T, C>> lease( final T route, final Object state, final Timeout requestTimeout, final FutureCallback<PoolEntry<T, C>> callback) { Args.notNull(route, "Route"); Asserts.check(!isShutDown.get(), "Connection pool shut down"); final PerRoutePool<T, C> routePool = getPool(route); return routePool.lease(state, requestTimeout, callback); }
@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); }
@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); }
@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 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()); }