org.apache.http.pool

## Interface ConnPool<T,E>

Type Parameters:
  `T` - the route type that represents the opposite endpoint of a pooled connection.
  `E` - the type of the pool entry containing a pooled connection.

All Known Implementing Classes:
  AbstractConnPool, AbstractNIOConnPool, BasicConnPool, BasicNIOConnPool

    public interface ConnPool<T,E>

`ConnPool` represents a shared pool connections can be leased from and released back to.

Since:
  4.2

### Method Summary

Methods
`Future<E>` `lease(T route, Object state, FutureCallback<E> callback)` Attempts to lease a connection for the given route and with the given state from the pool.
`void` `release(E entry, boolean reusable)` Releases the pool entry back to the pool.

### Method Detail

#### lease

    Future<E> lease(T route,
                  Object state,
                  FutureCallback<E> callback)

Attempts to lease a connection for the given route and with the given state from the pool.

Parameters:
  `route` - route of the connection.
  `state` - arbitrary object that represents a particular state (usually a security principal or a unique token identifying the user whose credentials have been used while establishing the connection). May be `null`.
  `callback` - operation completion callback.
Returns:
  future for a leased pool entry.

#### release

    void release(E entry,
               boolean reusable)

Releases the pool entry back to the pool.

Parameters:
  `entry` - pool entry leased from the pool
  `reusable` - flag indicating whether or not the released connection is in a consistent state and is safe for further use.