Эта функция используется для чтения определенного количества байтов данных из потока. Звонок будет блокироваться до тех пор, пока не будет выполнено одно из следующих условий:
Поставляемый буфер полон (то есть достиг максимального размера).
Объект функции завершения_условия возвращает 0.
Эта операция реализована с точки зрения нуля или более вызовов функции read_some потока.
Объект функции должен быть вызван, чтобы определить, завершена ли операция чтения. Подпись объекта функции должна быть:
std::size_tcompletion_condition(// Result of latest read_some operation.constboost::system::error_code&error,// Number of bytes transferred so far.std::size_tbytes_transferred);
Обратное значение 0 означает, что операция чтения завершена. Значение ненулевого возврата указывает максимальное количество байтов, которые будут прочитаны при следующем вызове функции read_some потока.