Цитата(AlexandrY @ Jul 25 2012, 11:57)

А разве стек TCP/IP линукса сделан на C++?
Нет, но и на С можно писать в ООП стиле.
Цитата
Да, и какие вы свойства и методы припишите объекту пакета?
Получить доступ к содержимому. Добавить данные в начало. Добавить данные в конец.
Можно взять готовый контейнер - std::deque<char>. Он вполне соотвествует пакету (хотя и несколько избыточен из за своей универсальности)
Цитата
В стеке TCP нет понятия пакета внутри реализации.
Там есть нечто похожее - struct sk_buff с указателями
* @head: Head of buffer
* @data: Data head pointer
* @tail: Tail pointer
* @end: End pointer
data-tail - содержит собственно тело пакета
head-data - место для заголовков, которые могут добавить уровни протокола
и tail-end - место для добавления суфиксов опять же от обработчиков уровней протокола
Цитата
Там есть несколько видов очередей.
Есть, и немало
Цитата
Элементами тех очередей в свою очередь являются списки. А вот те списки уже описывают элементы пакета.
Т.е. пакеты могут никогда не представляться одной непрерывной областью памяти.
Пакеты - слишком общее слово. Они бывают самые разные. Те, что в sk_buff - то же пакеты, я имел в виду именно их
Цитата
Вообщем для стека вроде TCP объекты пакетов лишь запутают реализацию.
Я не утверждал, что
весь стек TCP построен на таких пакетах, я просто упомянул где я их видел
А вот подойдет ли этот метод ТС - это вопрос к нему. И он сильно зависит от собственно протоколов, которые ему надо реализовывать (это я тоже писал)