Skip to main content

Frame

Enum Frame 

Source
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

Fields

§cols: u16
§rows: u16
§

Exit

Fields

§code: i32
§

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).

Fields

§vars: Vec<(String, String)>
§

AgentForward

Client signals it can handle agent forwarding (client → server).

§

AgentOpen

New agent connection on the remote side (server → client).

Fields

§channel_id: u32
§

AgentData

Agent protocol data (bidirectional).

Fields

§channel_id: u32
§data: Bytes
§

AgentClose

Close an agent channel (bidirectional).

Fields

§channel_id: u32
§

OpenForward

Client signals it can handle URL open forwarding (client → server).

§

OpenUrl

URL to open on the client machine (server → client).

Fields

§

TunnelListen

Server asks client to bind a local TCP port for reverse tunneling (server → client).

Fields

§port: u16
§

TunnelOpen

Client signals a tunnel connection has been accepted (client → server).

Fields

§channel_id: u32
§

TunnelData

Tunnel data relay (bidirectional).

Fields

§channel_id: u32
§data: Bytes
§

TunnelClose

Tunnel connection closed (bidirectional).

Fields

§channel_id: u32
§

SendOffer

Server notifies attached client that a file transfer started (server → client).

Fields

§file_count: u32
§total_bytes: u64
§

SendDone

Server notifies attached client that a file transfer completed (server → client).

§

SendCancel

File transfer cancelled (server → client).

Fields

§reason: String
§

PortForwardListen

Server asks client to set up a port forward listener (server → client for remote-fwd).

Fields

§forward_id: u32
§listen_port: u16
§target_port: u16
§

PortForwardReady

Client confirms port forward listener is ready (client → server).

Fields

§forward_id: u32
§

PortForwardOpen

New TCP connection on a port forward (bidirectional).

Fields

§forward_id: u32
§channel_id: u32
§target_port: u16
§

PortForwardData

Port forward channel data (bidirectional).

Fields

§channel_id: u32
§data: Bytes
§

PortForwardClose

Close a port forward channel (bidirectional).

Fields

§channel_id: u32
§

PortForwardStop

Tear down an entire port forward (server → client).

Fields

§forward_id: u32
§

Hello

Protocol version handshake (client → server, first frame on connection).

Fields

§version: u16
§

HelloAck

Protocol version acknowledgement (server → client).

Fields

§version: u16
§

SendFile

Local-side file transfer routing (client → daemon).

Fields

§session: String
§role: u8
§

NewSession

Fields

§name: String
§command: String
§

Attach

Fields

§session: String
§

Tail

Read-only tail of a session’s PTY output (client → server).

Fields

§session: String
§

ListSessions

§

KillSession

Fields

§session: String
§

KillServer

§

RenameSession

Fields

§session: String
§new_name: String
§

SessionCreated

Fields

§

SessionInfo

Fields

§sessions: Vec<SessionEntry>
§

Ok

§

Error

Fields

§message: String

Implementations§

Source§

impl Frame

Source

pub fn expect_from(result: Option<Result<Frame, Error>>) -> Result<Frame>

Extract a Frame from a framed.next().await result, converting the common None / Some(Err) cases into descriptive errors.

Trait Implementations§

Source§

impl Clone for Frame

Source§

fn clone(&self) -> Frame

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Frame

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Encoder<Frame> for FrameCodec

Source§

type Error = Error

The type of encoding errors. Read more
Source§

fn encode(&mut self, frame: Frame, dst: &mut BytesMut) -> Result<(), Error>

Encodes a frame into the buffer provided. Read more
Source§

impl PartialEq for Frame

Source§

fn eq(&self, other: &Frame) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for Frame

Source§

impl StructuralPartialEq for Frame

Auto Trait Implementations§

§

impl !Freeze for Frame

§

impl RefUnwindSafe for Frame

§

impl Send for Frame

§

impl Sync for Frame

§

impl Unpin for Frame

§

impl UnsafeUnpin for Frame

§

impl UnwindSafe for Frame

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more