Project

General

Profile

Actions

Описание устройств

[Написать более подробно архитектуру устройств – прошивки, модули, как это всё взаимодействует. Ещё скопировать сюда структуры, описывающие эти сущности.]

Устройство представляет собой коробку, в которой расположены:
  • Интерфейсы
  • Прошивка
  • Модули

Прошивка

Как уже говорилось – она управляет межмодульным взаимодействием и предоставляет пользовательский интерфейс для настройки оборудования. Допустим, что на некоторый интерфейс пришёл какой-то пакет. Как его обработать? Чтобы начать его обработку, нужно передать его какому-то модулю. Прошивка определяет соответствие «тип интерфейса – модуль», с которого нужно начинать обработку события.

Модуль

При обработке события модуль изменит своё состояние и в качестве результата вернёт дальнейшее действие. Либо нужно отбросить пакет (он предназначался не нам), либо его кому-то передать, либо сформировать новые пакеты и их передать. Эти действия складываются в список действий, который рассматривается либо как стек, либо как очередь. Далее по типу пакета и заголовку действия мы определяем, какому модулю передать пакет для дальнейшей обработки. Заметим, что типа пакета нам может быть недостаточно – различное оборудование обрабатывает одни и те же пакеты по-разному. Это может зависеть ещё от настроек самого оборудования – например, может быть включена балансировка. Тип действия определяет логика прошивки.

Статистика

При передаче пакета между модулями передаваемую информацию также надо записывать в лог. Эту информацию будет использовать система сбора статистики.
[Может быть, пользовательский интерфейс тоже рассматривать как отдельный модуль? По сути, подходит под нашу модель.]

Updated by Irina Burdova almost 11 years ago · 2 revisions