:man_page: mongoc_topology_description_has_readable_server

mongoc_topology_description_has_readable_server()
=================================================

Synopsis
--------

.. code-block:: c

  bool
  mongoc_topology_description_has_readable_server (
     mongoc_topology_description_t *td, const mongoc_read_prefs_t *prefs);

Determines if the topology has a readable server available.
Servers are filtered by the given read preferences only if the driver is connected to a replica set, otherwise the read preferences are ignored.
This function uses the driver's current knowledge of the state of the MongoDB server or servers it is connected to; it does no I/O and it does not block.

.. |td-func| replace:: ``mongoc_topology_description_has_readable_server``

.. include:: includes/cast-away-td-const.txt

Parameters
----------

* ``td``: A :symbol:`mongoc_topology_description_t`.
* ``read_prefs``: A :symbol:`mongoc_read_prefs_t` or ``NULL`` for default read preferences.

Returns
-------

True if there is a known server matching ``prefs``.

.. seealso::

  | :doc:`Introduction to Application Performance Monitoring <application-performance-monitoring>`

