LINUX.ORG.RU

История изменений

Исправление vbr, (текущая версия) :

Это всё правда, но я всё же замечу, что далеко не всем (а скорей даже почти никому) не нужен полновесный стек всего. Порой кастомный код выходит совсем не очень большим по размеру и выполняет все нужные функции. Я как-то писал свой «USB-стек». В кавычках, потому, что там кода реально строк на 500 вышло. Там все захардкоденные дескрипторы, там захардкоденные интерфейсы и тд. У меня всё получилось и я любопытства ради даже прогнал через специальный валидатор, всё ок, ну и на практике всё прекрасно работает. Альтернатива - взять реализацию «стека». И там совсем не 500 строк. Да, он гибкий, там поддержка любых дескрипторов, всяких изохронных эндпоинтов, какие-то там псевдо-ООП-классы, от которых можно унаследоваться. Ну как бы круто, но можно и без этого. И компилятор, к сожалению, чудес по элиминации мёртвого кода не делает.

Уверен, что и все эти WiFi + TCP/IP стеки можно реализовать, ну пусть не в 500 строк, но в разы меньше, чем предлагается из коробки. Выкинув поддержку неинтересного тебе лично, к примеру нет у тебя TCP в проекте, устраивает тебя UDP, который по сути даже и не стак, а так, нашлёпка поверх IP. Не нужен тебе IPv6. Не нужен тебе DHCP. И тд.

Исходная версия vbr, :

Это всё правда, но я всё же замечу, что далеко не всем (а скорей даже почти никому) не нужен полновесный стек всего. Порой кастомный код выходит совсем не очень большим по размеру и выполняет все нужные функции. Я как-то писать свой «USB-стек». В кавычках, потому, что там кода реально строк на 500 вышло. Там все захардкоденные дескрипторы, там захардкоденные интерфейсы и тд. У меня всё получилось и я любопытства ради даже прогнал через специальный валидатор, всё ок, ну и на практике всё прекрасно работает. Альтернатива - взять реализацию «стека». И там совсем не 500 строк. Да, он гибкий, там поддержка любых дескрипторов, всяких изохронных эндпоинтов, какие-то там псевдо-ООП-классы, от которых можно унаследоваться. Ну как бы круто, но можно и без этого. И компилятор, к сожалению, чудес по элиминации мёртвого кода не делает.

Уверен, что и все эти WiFi + TCP/IP стеки можно реализовать, ну пусть не в 500 строк, но в разы меньше, чем предлагается из коробки. Выкинув поддержку неинтересного тебе лично, к примеру нет у тебя TCP в проекте, устраивает тебя UDP, который по сути даже и не стак, а так, нашлёпка поверх IP. Не нужен тебе IPv6. Не нужен тебе DHCP. И тд.