async_read () максимального размера

У меня проблема с boost::async_read(),
В сети я обнаружил, что есть функция read_at_least(n), Но я ищу такую ​​функцию, как read_max() который будет читать максимальное количество байтов.

Дело в том, что у меня есть разные структуры для чтения, каждая из которых начинается с размера самой структуры.
Я хотел бы иметь возможность делать такие вещи, как:

int s = async_read([...], read_at_least(4), read_max(4));
async_read([...], read_at_least(s), read_max(s));

Проблема этого не в том, что мне приходится хранить оставшуюся часть операции чтения в тех случаях, когда она читает больше, чем я хотел.

Заранее спасибо,
Florian

0

Решение

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

2

Другие решения

Других решений пока нет …