sl_console::console

Struct Conout

Source
pub struct Conout { /* private fields */ }
Expand description

Represents the output side of the tty/console terminal.

This is a singleton that aquires a lock to access the console (similiar to Stdin). It should be used to access the tty/terminal to avoid conflicts and other issues.

Implementations§

Source§

impl Conout

Source

pub fn lock<'a>(&self) -> ConsoleOutLock<'a>

Locks the output console and returns a guard.

Lock is released when the guard is dropped.

Source

pub fn try_lock<'a>(&self) -> Option<ConsoleOutLock<'a>>

Tries to lock the output console and returns Some(guard) if it could or None if it could not. If the lock is already held by another thread then it will return None. Underlying lock is a ReentrantMutex from parking lot so will be fine to use on the same thread.

Lock is released when the guard is dropped.

Trait Implementations§

Source§

impl AsRawFd for Conout

Source§

fn as_raw_fd(&self) -> RawFd

Extracts the raw file descriptor. Read more
Source§

impl ConsoleWrite for Conout

Source§

fn set_raw_mode(&mut self, mode: bool) -> Result<bool>

Switch the raw mode, true enters raw mode and false exits raw mode. Read more
Source§

fn is_raw_mode(&self) -> bool

True if in raw mode.
Source§

impl Write for Conout

Source§

fn write(&mut self, buf: &[u8]) -> Result<usize>

Writes a buffer into this writer, returning how many bytes were written. Read more
Source§

fn flush(&mut self) -> Result<()>

Flushes this output stream, ensuring that all intermediately buffered contents reach their destination. Read more
1.36.0 · Source§

fn write_vectored(&mut self, bufs: &[IoSlice<'_>]) -> Result<usize, Error>

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

fn is_write_vectored(&self) -> bool

🔬This is a nightly-only experimental API. (can_vector)
Determines if this Writer has an efficient write_vectored implementation. Read more
1.0.0 · Source§

fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>

Attempts to write an entire buffer into this writer. Read more
Source§

fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>

🔬This is a nightly-only experimental API. (write_all_vectored)
Attempts to write multiple buffers into this writer. Read more
1.0.0 · Source§

fn write_fmt(&mut self, fmt: Arguments<'_>) -> Result<(), Error>

Writes a formatted string into this writer, returning any error encountered. Read more
1.0.0 · Source§

fn by_ref(&mut self) -> &mut Self
where Self: Sized,

Creates a “by reference” adapter for this instance of Write. Read more

Auto Trait Implementations§

§

impl Freeze for Conout

§

impl !RefUnwindSafe for Conout

§

impl Send for Conout

§

impl Sync for Conout

§

impl Unpin for Conout

§

impl !UnwindSafe for Conout

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<W> ConsoleMouseExt for W
where W: ConsoleWrite,

Source§

fn mouse_on(&mut self) -> Result<(), Error>

Turn mouse support on for the console.
Source§

fn mouse_off(&mut self) -> Result<(), Error>

Turn mouse support off for the console.
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<W> RawModeExt for W
where W: ConsoleWrite,

Source§

fn raw_mode_off(&mut self) -> Result<(), Error>

Switch to original (non-raw) mode Read more
Source§

fn raw_mode_on(&mut self) -> Result<(), Error>

Switch to raw mode. Read more
Source§

fn into_raw_mode(self) -> Result<RawTerminal<W>, Error>

Switch to raw mode. 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.