You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1.3 KiB
1.3 KiB
Arquitectura (capas limpias)
Capas
- Dominio (
src/adn_server/domain/) — entidades, objetos de valor, errores,Result. Sin E/S, sin Twisted. - Aplicación (
src/adn_server/application/) — casos de uso (BridgeUseCases,VoiceUseCases, …) y ports (interfaces). - Infraestructura (
src/adn_server/infrastructure/) — config YAML, Twisted UDP/TCP, voz, persistencia, adaptadores de seguridad.
Regla de dependencias: infraestructura → aplicación → dominio (solo hacia dentro).
Punto de entrada
main.py cablea configuración, temporizadores LoopingCall, fábricas para HBPProtocol, servidor de informes e inyecta casos de uso.
Dónde leer código
| Tema | Ubicación |
|---|---|
Enrutado de bridge, dmrd_received, bucle OpenBridge |
application/bridge_use_cases.py |
| HBP / OpenBridge UDP | infrastructure/twisted_adapters/udp_hbp.py |
| Informes TCP | infrastructure/twisted_adapters/report_server.py (fábrica), eventos de bridge desde casos de uso |
| Voz / TTS | application/voice_use_cases.py, infrastructure/voice/ |
Configuración como estado compartido
Un config dict mutable se pasa por adaptadores; actualizaciones en tiempo de ejecución (opciones, SUB_MAP, _bcsq OpenBridge) permanecen visibles globalmente durante la vida del proceso.