Я не знаком с этим конкретным буст-модулем.Но, если вы ищете способ создать буфер, который действует как своего рода хранилище, я бы создал другой поток для управления им.Поток мог LIFO входящий поток, обрабатывая запросы фильтра и управление буфером.Хранение его в отдельном потоке будет означать, что он будет внимателен к входящим пакетам до того, как закончится системный буфер, так что вам не нужно беспокоиться о том, чтобы ничего не пропустить.Может быть создана очередь сообщений для посредничества между потоками.
Тем не менее, в конце концов, вероятно, проще всего будет обратиться к заранее написанной библиотеке, чтобы справиться с ней и сэкономить немного времени.Проверьте этот пост .