wayray/crates/wrclient/Cargo.toml
Till Wegmueller d59411ca60 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

23 lines
455 B
TOML

[package]
name = "wrclient"
edition.workspace = true
version.workspace = true
license.workspace = true
[dependencies]
wayray-protocol.workspace = true
tracing.workspace = true
tracing-subscriber.workspace = true
miette.workspace = true
serde.workspace = true
quinn.workspace = true
rustls.workspace = true
tokio.workspace = true
winit = "0.30"
wgpu = "24"
env_logger = "0.11"
pollster = "0.4"
getrandom = "0.3"
[dev-dependencies]
rcgen.workspace = true