Struct Pty

Source
pub struct Pty(/* private fields */);
Available on crate feature async only.
Expand description

An allocated pty

Implementations§

Source§

impl Pty

Source

pub unsafe fn from_fd(fd: OwnedFd) -> Result<Self>

Use the provided file descriptor as a pty.

§Safety

The provided file descriptor must be valid, open, belong to a pty, and put into nonblocking mode.

§Errors

Returns an error if it fails to be registered with the async runtime.

Source

pub fn resize(&self, size: Size) -> Result<()>

Change the terminal size associated with the pty.

§Errors

Returns an error if we were unable to set the terminal size.

Source

pub fn split(&mut self) -> (ReadPty<'_>, WritePty<'_>)

Splits a Pty into a read half and a write half, which can be used to read from and write to the pty concurrently. Does not allocate, but the returned halves cannot be moved to independent tasks.

Source

pub fn into_split(self) -> (OwnedReadPty, OwnedWritePty)

Splits a Pty into a read half and a write half, which can be used to read from and write to the pty concurrently. This method requires an allocation, but the returned halves can be moved to independent tasks. The original Pty instance can be recovered via the OwnedReadPty::unsplit method.

Trait Implementations§

Source§

impl AsFd for Pty

Source§

fn as_fd(&self) -> BorrowedFd<'_>

Borrows the file descriptor. Read more
Source§

impl AsRawFd for Pty

Source§

fn as_raw_fd(&self) -> RawFd

Extracts the raw file descriptor. Read more
Source§

impl AsyncRead for Pty

Source§

fn poll_read( self: Pin<&mut Self>, cx: &mut Context<'_>, buf: &mut ReadBuf<'_>, ) -> Poll<Result<()>>

Attempts to read from the AsyncRead into buf. Read more
Source§

impl AsyncWrite for Pty

Source§

fn poll_write( self: Pin<&mut Self>, cx: &mut Context<'_>, buf: &[u8], ) -> Poll<Result<usize>>

Attempt to write bytes from buf into the object. Read more
Source§

fn poll_flush(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Result<()>>

Attempts to flush the object, ensuring that any buffered data reach their destination. Read more
Source§

fn poll_shutdown( self: Pin<&mut Self>, _cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>

Initiates or attempts to shut down this writer, returning success when the I/O connection has completely shut down. Read more
Source§

fn poll_write_vectored( self: Pin<&mut Self>, cx: &mut Context<'_>, bufs: &[IoSlice<'_>], ) -> Poll<Result<usize, Error>>

Like poll_write, except that it writes from a slice of buffers. Read more
Source§

fn is_write_vectored(&self) -> bool

Determines if this writer has an efficient poll_write_vectored implementation. Read more
Source§

impl From<Pty> for OwnedFd

Source§

fn from(pty: Pty) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

§

impl Freeze for Pty

§

impl !RefUnwindSafe for Pty

§

impl Send for Pty

§

impl Sync for Pty

§

impl Unpin for Pty

§

impl !UnwindSafe for Pty

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