| Class | Mongo::Server::ConnectionPool |
| In: |
lib/mongo/server/connection_pool/queue.rb
lib/mongo/server/connection_pool.rb |
| Parent: | Object |
Represents a connection pool for server connections.
@since 2.0.0
| options | [R] | @return [ Hash ] options The pool options. |
| queue | [R] |
Create the new connection pool.
@example Create the new connection pool.
Pool.new(wait_queue_timeout: 0.5) do
Connection.new
end
@note A block must be passed to set up the connections on initialization.
@param [ Hash ] options The connection pool options.
@option options [ Integer ] :max_pool_size The maximum pool size. @option options [ Integer ] :min_pool_size The minimum pool size. @option options [ Float ] :wait_queue_timeout The time to wait, in
seconds, for a free connection.
@since 2.0.0
Check a connection back into the pool. Will pull the connection from a thread local stack that should contain it after it was checked out.
@example Checkin the thread‘s connection to the pool.
pool.checkin
@since 2.0.0
Check a connection out from the pool. If a connection exists on the same thread it will get that connection, otherwise it will dequeue a connection from the queue and pin it to this thread.
@example Check a connection out from the pool.
pool.checkout
@return [ Mongo::Server::Connection ] The checked out connection.
@since 2.0.0
Closes all idle connections in the pool and schedules currently checked out connections to be closed when they are checked back into the pool. The pool remains operational and can create new connections when requested.
@example Disconnect the connection pool.
pool.disconnect!
@return [ true ] true.
@since 2.1.0
Get a pretty printed string inspection for the pool.
@example Inspect the pool.
pool.inspect
@return [ String ] The pool inspection.
@since 2.0.0