2016-12-30 06:21:17 +01:00
|
|
|
<?php
|
2016-09-14 16:27:39 +02:00
|
|
|
|
|
|
|
namespace Amp\Postgres;
|
|
|
|
|
2017-08-01 07:38:12 +02:00
|
|
|
use Amp\Promise;
|
|
|
|
|
2017-08-02 06:01:55 +02:00
|
|
|
interface Pool extends Link {
|
2017-08-01 07:38:12 +02:00
|
|
|
/**
|
2017-11-23 03:34:08 +01:00
|
|
|
* Extracts an idle connection from the pool. The connection is completely removed from the pool and cannot be
|
|
|
|
* put back into the pool. Useful for operations where connection state must be changed.
|
|
|
|
*
|
|
|
|
* @return \Amp\Promise<\Amp\Mysql\Connection>
|
2017-08-01 07:38:12 +02:00
|
|
|
*/
|
2017-11-23 03:34:08 +01:00
|
|
|
public function extractConnection(): Promise;
|
2017-08-01 07:38:12 +02:00
|
|
|
|
2016-09-14 16:27:39 +02:00
|
|
|
/**
|
|
|
|
* @return int Current number of connections in the pool.
|
|
|
|
*/
|
|
|
|
public function getConnectionCount(): int;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @return int Current number of idle connections in the pool.
|
|
|
|
*/
|
|
|
|
public function getIdleConnectionCount(): int;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @return int Maximum number of connections.
|
|
|
|
*/
|
|
|
|
public function getMaxConnections(): int;
|
|
|
|
}
|