Разработка детектора фреймов H.223 в HDLC-сессии
1. Разработка модуля детектора фреймов H.223 в HDLC-сессии.
2. На вход модуля порциями произвольной длины подаются данные HDLC-сессии. Задача обработки – корректная распаковка сессии (проверка FCS и т.д. в соответствии стандарту) и сигнализация при обнаружении в данных фреймов H.223. Необходимо учитывать, что фрейм может быть разбит по разным порциям данных.
3. API модуля должен предоставлять 4 функции:
init – для инициализации обработки сессии, выделения ресурсов, должен возвращать ссылку на контекст сессии
reset – принимает контекст сессии, выполняет сброс состояния детектора
detect – принимает контекст сессии, данные в виде массива byte произвольной длинны и его размера, возвращает результат детектирования
free – принимает контекст сессии, заканчивает обработку и освобождает ресурсы.
4. Минимальная вычислительная нагрузка на процессор. Критерий относительный, необходимо ориентироваться на то что бы на процессоре уровня Core i3 при обработке 248 сессий одновременно (~8 байт/с каждая сессия) загрузка не превышала 20-30%.
5. Язык разработки – C. Соответствие выданным Code convention (будут выданы выбранному исполнителю).
6. Код должен собираться/работать под Linux, Solaris, Windows. Для Windows проект в Microsoft Visual Studio 2008, для Linux и Windows с использованием стандартных средств сборки.
7. Обязательно наличие тестов.
8. Предоставляются тестовые наборы данных, как содержащие детектируемые фреймы, так и нет (будут выданы выбранному исполнителю).
9. Части функциональности реализованы в lib3gpph324m, libh324m, wireshark, можно обратиться к их кодам как к справочным.