Expand description
russh-backed SSH sessions for the multi-session terminal.
Each session is a tokio task that owns a russh [Channel] with a
server-allocated PTY (via request_pty + request_shell), drives a
vt100::Parser, and multiplexes I/O over a control channel. The parsed
screen state is exposed via an Arc<Mutex<vt100::Parser>> that the render
loop can snapshot without blocking. Using russh over a plain TCP socket
avoids the local pseudo-console entirely, so the same code path works on
every OS (notably fixing the dead Windows terminal).
PtyManager owns all active sessions and provides a simple API for the
application layer.
Structs§
- PtyManager
- Manages all active terminal sessions.
Type Aliases§
- Session
Id - Stable numeric identifier for a PTY session (mirrors
crate::event::SessionId).