pub enum Frame {
Show 40 variants
Data(Bytes),
Resize {
cols: u16,
rows: u16,
},
Exit {
code: i32,
},
Detached,
Ping,
Pong,
Env {
vars: Vec<(String, String)>,
},
AgentForward,
AgentOpen {
channel_id: u32,
},
AgentData {
channel_id: u32,
data: Bytes,
},
AgentClose {
channel_id: u32,
},
OpenForward,
OpenUrl {
url: String,
},
TunnelListen {
port: u16,
},
TunnelOpen {
channel_id: u32,
},
TunnelData {
channel_id: u32,
data: Bytes,
},
TunnelClose {
channel_id: u32,
},
SendOffer {
file_count: u32,
total_bytes: u64,
},
SendDone,
SendCancel {
reason: String,
},
PortForwardListen {
forward_id: u32,
listen_port: u16,
target_port: u16,
},
PortForwardReady {
forward_id: u32,
},
PortForwardOpen {
forward_id: u32,
channel_id: u32,
target_port: u16,
},
PortForwardData {
channel_id: u32,
data: Bytes,
},
PortForwardClose {
channel_id: u32,
},
PortForwardStop {
forward_id: u32,
},
Hello {
version: u16,
},
HelloAck {
version: u16,
},
SendFile {
session: String,
role: u8,
},
NewSession {
name: String,
command: String,
},
Attach {
session: String,
},
Tail {
session: String,
},
ListSessions,
KillSession {
session: String,
},
KillServer,
RenameSession {
session: String,
new_name: String,
},
SessionCreated {
id: String,
},
SessionInfo {
sessions: Vec<SessionEntry>,
},
Ok,
Error {
message: String,
},
}Variants§
Data(Bytes)
Resize
Exit
Detached
Sent to a client when another client takes over the session.
Ping
Heartbeat request (client → server).
Pong
Heartbeat reply (server → client).
Env
Environment variables (client → server, sent before first Resize on new session).
AgentForward
Client signals it can handle agent forwarding (client → server).
AgentOpen
New agent connection on the remote side (server → client).
AgentData
Agent protocol data (bidirectional).
AgentClose
Close an agent channel (bidirectional).
OpenForward
Client signals it can handle URL open forwarding (client → server).
OpenUrl
URL to open on the client machine (server → client).
TunnelListen
Server asks client to bind a local TCP port for reverse tunneling (server → client).
TunnelOpen
Client signals a tunnel connection has been accepted (client → server).
TunnelData
Tunnel data relay (bidirectional).
TunnelClose
Tunnel connection closed (bidirectional).
SendOffer
Server notifies attached client that a file transfer started (server → client).
SendDone
Server notifies attached client that a file transfer completed (server → client).
SendCancel
File transfer cancelled (server → client).
PortForwardListen
Server asks client to set up a port forward listener (server → client for remote-fwd).
PortForwardReady
Client confirms port forward listener is ready (client → server).
PortForwardOpen
New TCP connection on a port forward (bidirectional).
PortForwardData
Port forward channel data (bidirectional).
PortForwardClose
Close a port forward channel (bidirectional).
PortForwardStop
Tear down an entire port forward (server → client).
Hello
Protocol version handshake (client → server, first frame on connection).
HelloAck
Protocol version acknowledgement (server → client).
SendFile
Local-side file transfer routing (client → daemon).
NewSession
Attach
Tail
Read-only tail of a session’s PTY output (client → server).
ListSessions
KillSession
KillServer
RenameSession
SessionCreated
SessionInfo
Fields
sessions: Vec<SessionEntry>