Здравствуйте, pva, Вы писали:
pva>как бы вы решали такую задачу?
Я бы сделал скользящее reordering window с фиксированным количеством слотов. Каждый приходящий пакет сначала вставлял бы на свое место, а потом "выдвигал" бы из окна столько записей, сколько собраных накопилось. Ну и сдвигал бы границы окна.
Ну и если очередной новый пакет в окно не помещается, потому, что старые недособраные записи не дают окну сдвинуться, значит, сдвигаем принудительно, выбрасывая старые недособраные пакеты (это в любом случае надо делать, иначе пропавший куда-то случайно фаргмент записи заблокирует эту конструкцию навечно).