mongoc_client_set_stream_initiator()#

Synopsis#

void
mongoc_client_set_stream_initiator (mongoc_client_t *client,
                                    mongoc_stream_initiator_t initiator,
                                    void *user_data);

The mongoc_client_set_stream_initiator() function shall associate a given mongoc_client_t with a new stream initiator. This will completely replace the default transport (buffered TCP, possibly with TLS). The initiator should fulfill the mongoc_stream_t contract. user_data is passed through to the initiator callback and may be used for whatever run time customization is necessary.

It is a programming error to call this function on a mongoc_client_t from a mongoc_client_pool_t.

Changed in version 2.0.0: This function logs an error and immediately returns if client is from a mongoc_client_pool_t. Previously this function unsafely applied the initiator to the pooled client.

If user_data is passed, it is the application’s responsibility to ensure user_data remains valid for the lifetime of the client.

Parameters#