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