Буфер переменного размера для приема пакетов UDP

У меня есть сокет UDP, который будет принимать некоторые пакеты, потенциально разных размеров, и я обрабатываю это асинхронно:

socket.async_receive_from(boost::asio::buffer(buffer, 65536), senderEndpoint, handler);

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

Насколько я понимаю, при использованииasync_receive_fromобработчик вызывается только с одним пакетом за раз, потому что границы пакетов сохраняются в UDP. Так,Есть ли способ дать пустой буферasync_receive_from что Asio вырастет до размера пакета?

Также обратите внимание, что я упаковываю пакеты, поэтому для каждого пакета, проходящего через этот сокет, 4 первых байта являются длиной пакета.

Ответы на вопрос(2)

Ваш ответ на вопрос