The base connection pool class, which all other connection pools are based
on. This class is not instantiated directly, but subclasses should at the
very least implement the following API:
initialize(Database, Hash) : | Initialize using the passed Sequel::Database object
and options hash.
|
hold(Symbol, &block) : | Yield a connection object (obtained from calling the block passed to
initialize) to the current block. For sharded connection pools,
the Symbol passed is the
shard/server to use.
|
disconnect(Symbol) : | Disconnect the connection object. For sharded connection pools, the Symbol passed is the shard/server
to use.
|
servers : | An array of shard/server symbols for all shards/servers that this
connection pool recognizes.
|
size : | an integer representing the total number of connections in the pool, or for
the given shard/server if sharding is supported.
|
max_size : | an integer representing the maximum size of the connection pool, or the
maximum size per shard/server if sharding is supported.
|
For sharded connection pools, the sharded API adds the following methods:
add_servers(Array of Symbols) : | start recognizing all shards/servers specified by the array of symbols.
|
remove_servers(Array of Symbols) : | no longer recognize all shards/servers specified by the array of symbols.
|