Add configurable media-aware managed session reaping
This commit is contained in:
+19
-1
@@ -10,6 +10,24 @@ up instantly. Newest status at the top.
|
||||
|
||||
## ▶ Where we left off / next action
|
||||
|
||||
- **Done (2026-09-15): Managed media-aware reaper.** Voice checkpoint committed as
|
||||
`05eacb3`. Added `VoiceServerOptions` (name/guests/capacity, handshake deadline,
|
||||
idle timeout and sweep interval), preserving the previous constructor overload.
|
||||
Default expiry/sweep are 45 s / 15 s; zero idle timeout disables reaping. Parsed TCP
|
||||
envelopes, authenticated owned-stream voice and exact bound-endpoint UDP keepalives
|
||||
refresh one monotonic session timestamp. Invalid media does not refresh it. Removed
|
||||
the independent 60-second TCP-only timeout so media-active sessions remain connected.
|
||||
Reaping sends a fatal disconnect and retires presence/media routing with one LEFT
|
||||
event. Shutdown awaits active control/media/reaper loops and unfinished handshakes.
|
||||
Tests inject `TimeProvider` timestamps to verify TCP/UDP activity, rejected media,
|
||||
single departure events, disabled reaping and shutdown. **Verified:** 160/160 managed
|
||||
tests with all native conformance enabled; managed Release build has zero warnings;
|
||||
native dev build and 29/29 CTest tests green; `git diff --check` passes.
|
||||
**Next:** protected channel joins and channel CRUD, permissions/moderation/account
|
||||
administration, then production configuration/publishing. Phase 4 remains in progress.
|
||||
Follow with audio/core/managed CLI, switch Windows to the managed library, then C#
|
||||
AppKit/UIKit clients. Keep the Swift broadcast extension and frozen shared-ring boundary.
|
||||
|
||||
- **Done (2026-09-15): Phase 4 encrypted voice checkpoint.** Existing pending codec/DSP
|
||||
and initial server work committed as `4067bab`. Managed server now binds UDP on the
|
||||
TCP port number, issues 16-byte session tokens, supports subscription and multi-stream
|
||||
@@ -136,7 +154,7 @@ dotnet test dotnet/VoiceCat.slnx -c Release --no-restore
|
||||
./dotnet/check-licenses.ps1
|
||||
```
|
||||
|
||||
Last results: **154/154 managed tests, no skips with those variables set; 29/29 native
|
||||
Last results: **160/160 managed tests, no skips with those variables set; 29/29 native
|
||||
CTest tests; warning-free Release build; 22 package licenses approved; locked restore
|
||||
and `git diff --check` passed.** Without the variables, native interoperability tests
|
||||
skip; that is not equivalent verification. Desktop CI stages codec/DSP bindings on
|
||||
|
||||
Reference in New Issue
Block a user