Pool
class Pool extends Pool
A simple pool that creates connections via a callback.
Properties
| protected Channel | $channel | from Pool | |
| protected PoolOptionInterface | $option | from Pool | |
| protected array<int, true> | $managedConnections | from Pool | |
| protected array<int, true> | $borrowedConnections | from Pool | |
| protected int | $creating | from Pool | |
| protected bool | $closed | from Pool | |
| protected FrequencyInterface|LowFrequencyInterface|null | $frequency | from Pool | |
| protected callable | $callback |
Methods
Close idle connections while the total managed count exceeds the configured minimum.
Get the number of connections currently available in the pool.
Create a new connection for the pool.
Return an idle connection without changing its activity timestamps.
Destroy a managed connection and release its capacity.
Convert seconds to nanoseconds without overflowing integer arithmetic.
Details
at line 24
__construct(Container $container, string $name, callable $callback, array $option)
No description
in
Pool at line 54
string
getName()
Get the pool name.
in
Pool at line 62
ConnectionInterface
get()
Get a connection from the pool.
in
Pool at line 92
void
release(ConnectionInterface $connection)
Release a connection back to the pool.
in
Pool at line 109
void
discard(ConnectionInterface $connection)
Discard a borrowed connection from the pool.
in
Pool at line 118
void
flush()
Close idle connections while the total managed count exceeds the configured minimum.
in
Pool at line 133
void
checkIdleConnection()
Check one idle connection and discard it when unhealthy.
in
Pool at line 163
void
close()
Close the pool and destroy every idle connection.
Idempotent. Connections borrowed when closure begins are destroyed on release, and factories completing after closure destroy their orphan.
in
Pool at line 189
bool
isClosed()
Determine if the pool is closed.
in
Pool at line 197
int
getCurrentConnections()
Get the current number of connections managed by the pool.
in
Pool at line 205
PoolOptionInterface
getOption()
Get the pool configuration options.
in
Pool at line 213
int
getConnectionsInChannel()
Get the number of connections currently available in the pool.
in
Pool at line 221
protected void
initOption(array $options = [])
Initialize pool options from configuration.
at line 35
protected ConnectionInterface
createConnection()
Create a new connection for the pool.
in
Pool at line 267
protected ConnectionInterface|false
popIdleConnection()
Pop and validate one idle connection.
in
Pool at line 291
protected void
requeueConnection(ConnectionInterface $connection)
Return an idle connection without changing its activity timestamps.
in
Pool at line 309
protected void
destroyConnection(ConnectionInterface $connection)
Destroy a managed connection and release its capacity.
in
Pool at line 333
protected void
report(Throwable|string $error)
Report a pool maintenance or cleanup failure without throwing.
in
Pool at line 344
protected StdoutLoggerInterface|null
getLogger()
Get the logger instance if available.
in
Pool at line 431
protected int
nanoseconds(float $seconds)
Convert seconds to nanoseconds without overflowing integer arithmetic.
in
Pool at line 441
protected int
deadline(float $seconds)
Build a monotonic deadline without overflowing at long durations or uptimes.