Skip to main content

Module pty

Module pty 

Source
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§

SessionId
Stable numeric identifier for a PTY session (mirrors crate::event::SessionId).