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.
For sharded connection pools, the sharded API adds the following methods: