mongoc_client_select_server()#

Synopsis#

mongoc_server_description_t *
mongoc_client_select_server (mongoc_client_t *client,
                             bool for_writes,
                             const mongoc_read_prefs_t *prefs,
                             bson_error_t *error) BSON_GNUC_WARN_UNUSED_RESULT;

Choose a server for an operation, according to the logic described in the Server Selection Spec.

Use this function only for building a language driver that wraps the C Driver. When writing applications in C, higher-level functions automatically select a suitable server.

Parameters#

  • client: A mongoc_client_t.

  • for_writes: Whether to choose a server suitable for writes or reads.

  • prefs: An optional mongoc_read_prefs_t. If for_writes is true, prefs must be NULL. Otherwise, use prefs to customize server selection, or pass NULL to use read preference PRIMARY.

  • error: An optional location for a bson_error_t or NULL.

Returns#

A mongoc_server_description_t that must be freed with mongoc_server_description_destroy(). If no suitable server is found, returns NULL and error is filled out.