Document signaling runtime structure
This commit is contained in:
parent
ffad23446a
commit
beb2be6622
18
docs/architecture/runtime_loop.md
Normal file
18
docs/architecture/runtime_loop.md
Normal file
@ -0,0 +1,18 @@
|
||||
# Runtime Loop & Message Flow
|
||||
|
||||
## Überblick
|
||||
- Server basiert auf `actix-web` und `actix-ws`.
|
||||
- Jeder WebSocket-Client erhält eine Session über `actix_ws::handle`.
|
||||
- `broadcast::channel` (Tokio) fungiert als zentrales Publish/Subscribe-Relay.
|
||||
|
||||
## Ablauf Heute
|
||||
1. **Handshake**: `/ws` Route akzeptiert WebSocket-Requests.
|
||||
2. **Incoming Task**: Liest Nachrichten vom Client, deserialisiert `SignalingMessage` und sendet sie in den Broadcast-Kanal.
|
||||
3. **Outgoing Task**: Abonniert Broadcast (`rx.recv()`) und schreibt jede Nachricht zurück in die Session.
|
||||
4. **Routing**: Aktuell kein Filter – alle Clients erhalten jede Nachricht.
|
||||
|
||||
## Erweiterungsplan
|
||||
- **Channel/Room Map**: `HashMap<RoomId, Sender>` oder dedizierter Actor für jede Session.
|
||||
- **Presence Tracking**: Join/Leave Events, Heartbeats.
|
||||
- **Message Typen**: Offer/Answer/Candidate/Text/Broadcast – sollen im Proto beschrieben werden.
|
||||
- **Persistente Logs**: Structured Logging via `tracing` mit Session-ID.
|
||||
23
docs/config/server_config.md
Normal file
23
docs/config/server_config.md
Normal file
@ -0,0 +1,23 @@
|
||||
# Server-Konfiguration
|
||||
|
||||
## Dateien
|
||||
- `appsettings.example.json`: Vorlage mit `bind` Adresse.
|
||||
- `appsettings.json`: Produktiveinstellung (wird beim Start geladen).
|
||||
|
||||
## Struktur
|
||||
```
|
||||
Config {
|
||||
server: ServerOptions {
|
||||
bind: String,
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Defaults (siehe `constants.rs`)
|
||||
- `DEFAULT_BIND = "127.0.0.1:3478"`
|
||||
- `DEFAULT_HOST_URL = "http://localhost:3478"`
|
||||
|
||||
## TODOs
|
||||
- Unterschiedliche Ports für HTTP vs WS (derzeit identisch).
|
||||
- TLS-/WSS-Unterstützung.
|
||||
- Konfigurierbare Allowed Origins, TURN Secrets.
|
||||
11
docs/index.md
Normal file
11
docs/index.md
Normal file
@ -0,0 +1,11 @@
|
||||
# niom-signaling Docs
|
||||
|
||||
Kurzdokumentation für den Signaling-Server. Struktur orientiert sich an den Hauptkomponenten (`src/main.rs`, `config`, `constants`).
|
||||
|
||||
- [`architecture/runtime_loop.md`](architecture/runtime_loop.md) – Verbindungshandling & Broadcast.
|
||||
- [`config/server_config.md`](config/server_config.md) – Bind-Adressen und Defaults.
|
||||
|
||||
## Zielsetzung
|
||||
- Rooms/Channels anstelle globalem Broadcast.
|
||||
- Authentifizierung & Health-Checks.
|
||||
- Testbare, deterministische Nachrichtenzustellung.
|
||||
Loading…
x
Reference in New Issue
Block a user