# mongoc_stream_write()

## Synopsis

    ssize_t
    mongoc_stream_write (mongoc_stream_t *stream,
                         void *buf,
                         size_t count,
                         int32_t timeout_msec);

## Parameters

- `stream`: A mongoc_stream_t.
- `buf`: The buffer to write.
- `count`: The number of bytes to write.
- `timeout_msec`: The number of milliseconds to wait before failure, a timeout of 0 will not block. If negative, use the default timeout.

The mongoc_stream_write() function shall perform a write to a mongoc_stream_t. It’s modeled on the API and semantics of `write()`, though the parameters map only loosely.

## Returns

The mongoc_stream_write() function returns the number of bytes written on success. It returns `-1` and sets `errno` upon failure.

## See Also

mongoc_stream_read()

mongoc_stream_readv()

mongoc_stream_writev()