Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

async_write_at (3 of 4 overloads)

Boost , Boost.Asio , async_write_at

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext

Начните асинхронную операцию для записи всех поставляемых данных в указанном смещение.

template<
    typename AsyncRandomAccessWriteDevice,
    typename Allocator,
    typename WriteHandler>
void-or-deduced async_write_at(
    AsyncRandomAccessWriteDevice & d,
    uint64_t offset,
    basic_streambuf< Allocator > & b,
    WriteHandler handler);

Эта функция используется для асинхронной записи определенного количества байт данных на устройство случайного доступа при заданном смещение. Звонок функции всегда возвращается немедленно. Асинхронная операция будет продолжаться до тех пор, пока не будет выполнено одно из следующих условий:

  • Все данные в предоставленномbasic_streambufбыло написано.
  • Произошла ошибка.

Эта операция реализована в терминах нуля или более вызовов функции асинхронизации_записи_some_at устройства и известна каксоставленная операция.. Программа должна гарантировать, что устройство не выполняет операций записи, перекрывающихся(таких как async_write_at, функция async_write_some_at устройства или любые другие операции, которые выполняют записи), пока эта операция не завершится. Операции перекрываются, если области, определенные их смещениями, и числа байтов для записи пересекаются.

Parameters

d

Устройство, на которое должны быть записаны данные. Этот тип должен поддерживать концепцию AsyncRandomAccessWriteDevice.

offset

Смещение, при котором будут записаны данные.

b

basic_streambufобъект, из которого будут записаны данные. Владение Streambuf сохраняется за абонентом, который должен гарантировать, что он остается действительным до тех пор, пока не будет вызван обработчик.

handler

Обработчик должен быть вызван, когда операция записи завершится. Копии будут сделаны из обработчика по мере необходимости. Функциональная подпись обработчика должна быть:

void handler(
  // Result of operation.
  const boost::system::error_code& error,
  // Number of bytes written from the buffers. If an error
  // occurred, this will be less than the sum of the buffer sizes.
  std::size_t bytes_transferred
);

Независимо от того, выполняется ли асинхронная операция немедленно или нет, обработчик не будет вызываться из этой функции. Вызов обработчика будет выполнен способом, эквивалентным использованиюбустера::asio::io_service::пост[].


PrevUpHomeNext

Статья async_write_at (3 of 4 overloads) раздела Boost.Asio async_write_at может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: async_write_at ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-19 20:31:05/0.0084819793701172/1