Skip to main content

Module server

Module server 

Source
Expand description

Server-side implementation for session persistence

The server runs as a daemon and holds all editor state. Clients connect via IPC (Unix domain sockets or Windows named pipes) to send input and receive rendered output.

§Architecture

  • Data socket: Pure byte stream for stdin/stdout relay (hot path)
  • Control socket: JSON messages for resize, ping/pong, etc (cold path)

See docs/internal/session-persistence-design.md for full design.

Re-exports§

pub use capture_backend::terminal_setup_sequences;
pub use capture_backend::terminal_teardown_sequences;
pub use capture_backend::CaptureBackend;
pub use daemon::daemonize;
pub use daemon::is_process_running;
pub use daemon::read_pid_file;
pub use daemon::spawn_server_detached;
pub use daemon::write_pid_file;
pub use editor_server::EditorServer;
pub use editor_server::EditorServerConfig;
pub use input_parser::InputParser;
pub use ipc::ServerListener;
pub use ipc::SocketPaths;
pub use protocol::ClientHello;
pub use protocol::ControlMessage;
pub use protocol::ServerHello;
pub use protocol::PROTOCOL_VERSION;

Modules§

capture_backend
Capturing backend for ratatui
daemon
Daemonization support for running the server in the background
editor_server
Editor integration with the session server
input_parser
Server-side input parsing
ipc
IPC infrastructure for client-server communication
protocol
Protocol definitions for client-server communication