Scroll to navigation

MONGOC_CLIENT_POOL_POP(3) libmongoc MONGOC_CLIENT_POOL_POP(3)

SYNOPSIS

mongoc_client_t *
mongoc_client_pool_pop (mongoc_client_pool_t *pool);


Retrieve a mongoc_client_t from the client pool, or create one. The total number of clients that can be created from this pool is limited by the URI option "maxPoolSize", default 100. If this number of clients has been created and all are in use, mongoc_client_pool_pop blocks until another thread returns a client with mongoc_client_pool_push(). If the "waitQueueTimeoutMS" URI option was specified with a positive value, then mongoc_client_pool_pop will return NULL when the timeout expires.

The returned mongoc_client_t must be returned to the pool with mongoc_client_pool_push().

NOTE:

Return a checked out mongoc_client_t to the pool with mongoc_client_pool_push() quickly to encourage reuse of clients among threads.


PARAMETERS

pool: A mongoc_client_pool_t.

RETURNS

A mongoc_client_t.

THREAD SAFETY

This function is safe to call from multiple threads.

AUTHOR

MongoDB, Inc

COPYRIGHT

2009-present, MongoDB, Inc.

December 12, 2024 1.29.1