MongoDB C++ Driver mongocxx-3.11.0
|
#include <mongocxx/v_noabi/mongocxx/pool.hpp>
A pool of client
objects associated with a MongoDB deployment.
For interoperability with other MongoDB drivers, the minimum and maximum number of connections in the pool is configured using the 'minPoolSize' and 'maxPoolSize' connection string options.
client
objects. The pool will use a single background thread per server to monitor the topology of the replica set, all of which are shared between the client objects created by the pool. A standalone client will instead "stop the world" every 60 seconds to check the status of the cluster. Because of this, if multiple threads are available, a connection pool should be used even if the application itself is single-threaded. Classes | |
class | entry |
An entry is a handle on a client object acquired via the pool. Similar to std::unique_ptr. More... | |
Public Member Functions | |
pool (const uri &mongodb_uri=mongocxx::v_noabi::uri(), const options::pool &options=options::pool()) | |
Creates a pool associated with a connection string. | |
~pool () | |
Destroys a pool. | |
entry | acquire () |
Acquires a client from the pool. The calling thread will block until a connection is available. | |
stdx::optional< entry > | try_acquire () |
Acquires a client from the pool. This method will return immediately, but may return a disengaged optional if a client is not available. | |
|
explicit |
Creates a pool associated with a connection string.
mongodb_uri | A MongoDB URI representing the connection parameters |
options | Options to use when connecting to the MongoDB deployment. |
mongocxx::v_noabi::exception | if invalid options are provided (whether from the URI or provided client options). |
mongocxx::v_noabi::pool::~pool | ( | ) |
Destroys a pool.
entry mongocxx::v_noabi::pool::acquire | ( | ) |
Acquires a client from the pool. The calling thread will block until a connection is available.
stdx::optional< entry > mongocxx::v_noabi::pool::try_acquire | ( | ) |
Acquires a client from the pool. This method will return immediately, but may return a disengaged optional if a client is not available.