Цитата(AlexandrY @ Jul 26 2012, 15:05)

Ну да, за многоточиями в ваших аргументах можно спрятать любой смысл.
Но что-то много многоточий.
Заметьте, что все многоточия собранны в обработчиках уровней протокола, а не в самом объекте пакета (class Buffer)
Цитата
Это говорит от том, что объект-пакет изначально задумывался вами как протокольно зависимый, а... ?
Неа, в объекте-пакете (Buffer) не одной точки нету, не то что многоточий
Цитата
Но изменение в пакетах некоторых атрибутов в теле тоже широко распространено. Например номер пакета при ретрансмитах или изменение приоритета для продвижения в очереди на передачу. Почему нет метода push_middle ?
А я об этом сразу говорил, вот цитата -
Цитата
Если каждый уровень просто 'заворачивает' данные предыдущего уровня в дополнительную обертку, то можно воспользоваться парадигмой объекта - пакета, который может расширяться с 2х сторон обработчиками протокола следующего уровня (это делается просто заказом буфера достаточной длинны и заполнением его начиная с середины).
И еще одна
Цитата
Мое предложение касается ТОЛЬКО случаев, когда каждый уровень протокола только добавляет свои заголовки и хвосты к данным, полученным из предыдущего уровня. Это сильно ограничивает применимость такого подхода, но все же имеет право на жизнь (может у ТС как раз такой стек протоколов).
Цитата
Потом, понятие пакета появляется только на некотором низком уровне протоколов. А так вообще пользователь работает с потоком или, например, со списками пар [имя]=[значение].
Полностью согласен
Цитата
Навязывание пакета как изначальной единицы обмена сильно ограничивает функциональные возможности протокола.
Так я и не навязываю, я лишь предложил нечто, весьма ограниченное по функциональности, но простое. А уж ТС решать - хватит ему этой функциональности или нет