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.
If user_data is passed, it is the application's responsibility to ensure user_data remains valid for the
lifetime of the client.