Перейти к содержанию

ADR-002: Развитие STA в полноценную сетевую платформу

Статус

Принято

Контекст

Текущая реализация STA/AP решает базовую задачу подключения, но не масштабируется: нет явных состояний, нет retry-политики, нет изоляции между модулями. OTA и webserver напрямую зависят от raw WiFi-событий.

Решение

Развивать networking постепенно в сторону управляемой платформы: - явная state machine (DISCONNECTED / CONNECTING / CONNECTED / RECONNECTING / FAILED) - network health manager - service lifecycle manager (модули получают уведомления, не raw-события) - exponential backoff с ceiling - AP+STA simultaneous mode (v0.6)

Почему

  • OTA требует стабильного и предсказуемого состояния сети
  • raw-события создают coupling и race conditions
  • явные состояния упрощают тестирование и debug

Альтернативы

  1. Оставить как есть → отклонено: нарастающая хрупкость
  2. Латать текущую логику без state machine → отклонено: усложнение без выхода

Ограничения реализации

  • изменения не должны нарушать текущий OTA
  • не увеличивать RAM бесконтрольно
  • мигрировать поэтапно: сначала state machine, потом lifecycle manager

Последствия

  • устойчивость OTA при сетевых сбоях
  • чёткие границы между модулями
  • сложность реализации выше — требует поэтапного подхода