Эта функция используется для записи определенного количества байтов данных в поток. Звонок будет блокироваться до тех пор, пока не будет выполнено одно из следующих условий:
Все данные в предоставленных буферах были записаны. То есть переданные байты равны сумме буферных размеров.
Объект функции завершения_условия возвращает 0.
Эта операция реализована с точки зрения нулевого или большего количества вызовов функции write_some потока.
Поток, к которому должны быть записаны данные. Этот тип должен поддерживать концепцию SyncWriteStream.
buffers
Один или несколько буферов, содержащих данные, подлежащие записи. Сумма размеров буфера указывает на максимальное количество байтов для записи в поток.
completion_condition
Объект функции должен быть вызван, чтобы определить, завершена ли операция записи. Подпись объекта функции должна быть:
std::size_tcompletion_condition(// Result of latest write_some operation.constboost::system::error_code&error,// Number of bytes transferred so far.std::size_tbytes_transferred);
Возвратное значение 0 означает, что операция записи завершена. Ненулевое значение возврата указывает на максимальное количество байтов, которые будут записаны на следующем вызове функции write_some потока.
ec
Установить, какая ошибка произошла, если таковая имеется.
Количество написанных байтов. При возникновении ошибки возвращает общее количество байтов, успешно переданных до ошибки.
Статья write (4 of 8 overloads) раздела Boost.Asio write может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.