Skip to main content

Module transport

Module transport 

Source
Expand description

Transport abstraction.

The TUI event loop sits on top of two I/O concerns:

  1. A [ratatui::backend::Backend] that receives rendered frames.
  2. A source of user input events (keystrokes, terminal resizes).

Both are hidden behind Transport. A local invocation uses LocalTransport, which owns a CrosstermBackend<Stdout> and polls crossterm for events. The SSH daemon will later provide a different impl that writes to a russh channel and reads keystrokes from that channel.

Keeping this layer tiny is deliberate. Anything richer (history, mouse support, paste handling) grows inside App / Intent, not here.

Re-exports§

pub use local::LocalTransport;

Modules§

local
Local PTY transport.

Enums§

RawEvent
Input events the event loop cares about. Keystrokes and resizes are explicit; disconnect is signalled via Transport::poll returning an io::Error.

Traits§

Transport
Bridge between the event loop and whatever terminal it talks to.