mongoc_stream_readv (mongoc_stream_t *stream,
                     mongoc_iovec_t *iov,
                     size_t iovcnt,
                     size_t min_bytes,
                     int32_t timeout_msec);


  • stream: A mongoc_stream_t.

  • iov: A vector of mongoc_iovec_t.

  • iovcnt: The number of items in iov.

  • min_bytes: The minimum number of bytes to read or failure will be indicated.

  • timeout_msec: A timeout in milliseconds, or 0 to indicate non-blocking. A negative value with use the default timeout.

This function is identical to mongoc_stream_read() except that it takes a mongoc_iovec_t to perform gathered I/O.


The “default timeout” indicated by a negative value is both unspecified and unrelated to the documented default values for *TimeoutMS URI options. To specify a default timeout value for a *TimeoutMS URI option, use the MONGOC_DEFAULT_* constants defined in mongoc-client.h.


>= 0 on success, -1 on failure and errno is set.