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

windows::basic_random_access_handle::async_read_some_at

Boost , Boost.Asio , windows::basic_random_access_handle

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 MutableBufferSequence,
    typename ReadHandler>
void-or-deduced async_read_some_at(
    uint64_t offset,
    const MutableBufferSequence & buffers,
    ReadHandler handler);

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

Parameters

offset

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

buffers

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

handler

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

void handler(
  const boost::system::error_code& error, // Result of operation.
  std::size_t bytes_transferred           // Number of bytes read.
);

Независимо от того, выполняется ли асинхронная операция немедленно или нет, обработчик не будет вызываться из этой функции. Запрос обработчика будет выполнен способом, эквивалентным использованию<boost::asio::io_service::post()>.

Remarks

Операция чтения может не считывать все запрошенное количество байтов. Подумайте об использовании функции<async_read_at>, если вам нужно убедиться, что запрашиваемый объем данных считывается до завершения асинхронной операции.

Example

Для считывания в единый буфер данных используют функцию<buffer>следующим образом:

handle.async_read_some_at(42, boost::asio::buffer(data, size), handler);

Смотреть<buffer>документация для информации о считывании в несколько буферов за один ход, и как ее использовать с массивами, бустер::array или std::vector.


PrevUpHomeNext

Статья windows::basic_random_access_handle::async_read_some_at раздела Boost.Asio windows::basic_random_access_handle может быть полезна для разработчиков на c++ и boost.




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



:: Главная :: windows::basic_random_access_handle ::


реклама


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

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