Границы пакета не имеют смысла в TCP: возможно, что половина данных пакета будет подтверждена (скажем, из-за фрагментации), а затем вам придется повторно передать оставшуюся половину.должен хранить необработанные данные, а не пакеты.Реальный вопрос, который вы должны задать: как мне узнать, какие данные были подтверждены.Вам нужна битовая маска для каждого байта данных в вашем окне, и вы можете пометить подтвержденные данные как 1, а остальные как 0. Когда вы обнаружите, что непрерывный блок данных в начале вашего окна был подтвержден, эта частьможно выдвинуть.