Channel

Struct Channel 

Source
pub struct Channel<'a, 'b, T: Behavior> { /* private fields */ }
Expand description

Channel associated with an SSH transport.

Implementations§

Source§

impl<'a, 'b, T: Behavior> Channel<'a, 'b, T>

Source

pub fn request(&self) -> Request<T::Command>

Returns the request associated with this channel.

Source

pub fn user(&self) -> T::User

Returns the user associated with this channel.

Source

pub fn client_ssh_id_string(&self) -> &str

Returns the identification string of the client.

Source

pub async fn exit(self, exit_status: u32) -> Result<(), TransportError<T>>

Closes the channel with a given exit status.

Source

pub async fn reader( &mut self, len: Option<usize>, ) -> Result<Reader<'a, '_, T>, TransportError<T>>

Obtains a reader over this channel.

Source

pub async fn read_exact_stdin( &mut self, bytes: &mut [u8], ) -> Result<usize, TransportError<T>>

Convenience method for exact-or-until-EOF reads.

This method reads up to an exact number of bytes from the channel, stopping early only in the case of EOF, and returns the number of bytes that were actually read.

Source

pub fn writer(&mut self, pipe: Pipe) -> Writer<'a, '_, T>

Obtains a writer over this channel for the specified pipe.

Source

pub fn stdout(&mut self) -> Writer<'a, '_, T>

Obtains a writer over this channel for standard output.

Source

pub fn stderr(&mut self) -> Writer<'a, '_, T>

Obtains a writer over this channel for standard error.

Source

pub async fn write_all_stdout( &mut self, bytes: &[u8], ) -> Result<(), TransportError<T>>

Convenience method that writes all bytes into standard output.

Source

pub async fn write_all_stderr( &mut self, bytes: &[u8], ) -> Result<(), TransportError<T>>

Convenience method that writes all bytes into standard error.

Auto Trait Implementations§

§

impl<'a, 'b, T> Freeze for Channel<'a, 'b, T>

§

impl<'a, 'b, T> RefUnwindSafe for Channel<'a, 'b, T>

§

impl<'a, 'b, T> Send for Channel<'a, 'b, T>
where T: Send, <T as Behavior>::User: Send, <T as Behavior>::Command: Send,

§

impl<'a, 'b, T> Sync for Channel<'a, 'b, T>
where T: Sync, <T as Behavior>::User: Sync, <T as Behavior>::Command: Sync,

§

impl<'a, 'b, T> Unpin for Channel<'a, 'b, T>

§

impl<'a, 'b, T> !UnwindSafe for Channel<'a, 'b, T>

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> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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> Same for T

Source§

type Output = T

Should always be Self
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.