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
Альтернативы¶
- Оставить как есть → отклонено: нарастающая хрупкость
- Латать текущую логику без state machine → отклонено: усложнение без выхода
Ограничения реализации¶
- изменения не должны нарушать текущий OTA
- не увеличивать RAM бесконтрольно
- мигрировать поэтапно: сначала state machine, потом lifecycle manager
Последствия¶
- устойчивость OTA при сетевых сбоях
- чёткие границы между модулями
- сложность реализации выше — требует поэтапного подхода