wayray/crates/wayray-protocol/src/lib.rs
Till Wegmueller 70859175c0 Add doors IPC transport for illumos, simplify client binaries
Add platform-aware IPC transport layer for the launcher protocol:

- transport module: send_request_sync() auto-selects doors (illumos)
  or Unix sockets (Linux) at compile time
- doors_transport: uses doors::Client for high-speed synchronous RPC,
  gated behind cfg(target_os = "illumos") + "doors" feature flag
- unix_transport: blocking Unix socket client for all platforms

Simplify client binaries to use the sync transport:
- wradm: drops tokio dependency entirely, now fully synchronous
- wrlogin: drops tokio dependency, uses sync transport
- wrsessd: uses shared default_ipc_path() for consistency

The doors crate (0.8.1) is an optional illumos-only dependency.
On Linux, all code compiles and tests pass with Unix socket transport.
2026-04-09 22:21:14 +02:00

15 lines
435 B
Rust

//! WayRay wire protocol definitions.
//!
//! Shared between wrsrvd (server) and wrclient (client).
//! Messages are serialized with postcard and framed with a 4-byte
//! length prefix for transmission over QUIC streams.
pub mod codec;
pub mod encoding;
pub mod launcher;
pub mod messages;
pub mod session_config;
pub mod transport;
/// Current protocol version. Incremented on breaking changes.
pub const PROTOCOL_VERSION: u32 = 1;