2026-04-04 18:16:53 +02:00
|
|
|
[package]
|
|
|
|
|
name = "wrclient"
|
|
|
|
|
edition.workspace = true
|
|
|
|
|
version.workspace = true
|
|
|
|
|
license.workspace = true
|
|
|
|
|
|
|
|
|
|
[dependencies]
|
|
|
|
|
wayray-protocol.workspace = true
|
|
|
|
|
tracing.workspace = true
|
2026-04-07 16:54:01 +02:00
|
|
|
tracing-subscriber.workspace = true
|
2026-04-04 18:16:53 +02:00
|
|
|
miette.workspace = true
|
2026-04-07 16:54:01 +02:00
|
|
|
serde.workspace = true
|
|
|
|
|
quinn.workspace = true
|
|
|
|
|
rustls.workspace = true
|
|
|
|
|
tokio.workspace = true
|
2026-04-07 17:51:40 +02:00
|
|
|
winit = "0.30"
|
|
|
|
|
wgpu = "24"
|
|
|
|
|
env_logger = "0.11"
|
|
|
|
|
pollster = "0.4"
|
Add session lifecycle, token-based identity, and client token support
Core session management infrastructure for Phase 3:
- Session module: SessionId, SessionToken, SessionState enum with
validated transitions (Creating→Active⇄Suspended→Destroyed),
Session struct with timeout tracking, SessionRegistry with O(1)
lookup by ID and token (10 unit tests)
- Protocol: ClientHello gains optional token field, ServerHello gains
resumed flag and token echo, SessionStatus/SessionEvent enums added
to ControlMessage for session state notifications
- Server: SessionRegistry in headless CalloopData, sessions created on
client connect (with token lookup for resumption), suspended on
disconnect (not destroyed), periodic cleanup of expired sessions
- Client: --token CLI flag, persistent token at ~/.config/wayray/token
with auto-generation (random 16-byte hex), token sent in ClientHello,
resumed state logged from ServerHello
2026-04-09 21:14:48 +02:00
|
|
|
getrandom = "0.3"
|
2026-04-07 16:54:01 +02:00
|
|
|
|
|
|
|
|
[dev-dependencies]
|
|
|
|
|
rcgen.workspace = true
|