Expand description
Board-over-SSH: bridge one russh channel to the blocking cliban-tui event loop on a dedicated blocking task.
Wiring: the connection handler forwards channel data bytes and
window-change resizes into an mpsc (RemoteInput); the board task
renders through a RemoteBackend whose writer sends each flush to the
client via the session Handle. Teardown is symmetric: user quit ends
the loop (exit 0); client disconnect / channel close drops the sender,
the session errors out, and the task dies — no leaked tasks either way.
Structs§
- Board
Task - Everything the blocking board task needs, captured on the async side
(
Handle::current()is only guaranteed there).
Constants§
- NO_TTY
- Sent when a shell is requested on a channel that never did pty-req.
Functions§
- run_
board - Drive picker + board to completion, then hang up. Runs on a blocking
thread (
tokio::task::spawn_blocking). All sends after the loop are best-effort: the client may already be gone.