mirror of
https://github.com/CloudNebulaProject/wayray.git
synced 2026-04-10 21:20:40 +00:00
Implement QUIC networking for wrsrvd (server) and wrclient (client) using quinn over rustls with self-signed certificates. Three logical channels: control (bidirectional), display (server->client unidirectional), and input (client->server unidirectional). Server runs tokio in a background thread, communicating with the compositor via std::sync::mpsc channels. Client exposes an async connect() API that returns a ServerConnection with methods for sending input and receiving frames. Key design note: quinn streams are lazily materialized -- accept_bi/ accept_uni on the peer won't resolve until data is written. The handshake protocol accounts for this by having each side write immediately after opening streams.
26 lines
565 B
TOML
26 lines
565 B
TOML
[package]
|
|
name = "wrsrvd"
|
|
edition.workspace = true
|
|
version.workspace = true
|
|
license.workspace = true
|
|
|
|
[dependencies]
|
|
wayray-protocol.workspace = true
|
|
tracing.workspace = true
|
|
tracing-subscriber.workspace = true
|
|
miette.workspace = true
|
|
thiserror.workspace = true
|
|
serde.workspace = true
|
|
|
|
smithay = { version = "0.7", default-features = false, features = [
|
|
"wayland_frontend",
|
|
"desktop",
|
|
"renderer_gl",
|
|
"renderer_pixman",
|
|
"backend_winit",
|
|
] }
|
|
ctrlc = "3"
|
|
quinn.workspace = true
|
|
rustls.workspace = true
|
|
rcgen.workspace = true
|
|
tokio.workspace = true
|