Closes this pool and future calls to **take** will cause the scala.concurrent.Future to raise an com.github.mauricio.async.db.postgresql.pool.PoolAlreadyTerminatedException.
Closes this pool and future calls to **take** will cause the scala.concurrent.Future to raise an com.github.mauricio.async.db.postgresql.pool.PoolAlreadyTerminatedException.
Returns an object taken from the pool back to it.
Returns an object taken from the pool back to it. This object will become available for another client to use. If the object is invalid or can not be reused for some reason the scala.concurrent.Future returned will contain the error that prevented this object of being added back to the pool. The object is then discarded from the pool.
Returns an object from the pool to the callee with the returned future.
Returns an object from the pool to the callee with the returned future. If the pool can not create or enqueue requests it will fill the returned scala.concurrent.Future with an com.github.mauricio.async.db.postgresql.pool.PoolExhaustedException.
future that will eventually return a usable pool object.
Defines the common interface for async object pools. These are pools that do not block clients trying to acquire a resource from it. Different than the usual synchronous pool, you **must** return objects back to it manually since it's impossible for the pool to know when the object is ready to be given back.