Struct stdio::Stdio

source ·
pub struct Stdio { /* private fields */ }
Expand description

A ring buffer containing bytes. It forms stdin, stdout and stderr. The two Arcs actually point to the same ring buffer. It is designed to prevent interleaved reading but at the same time allow writing to the ring buffer while the reader is holding its lock, and vice versa.

Implementations§

source§

impl Stdio

source

pub fn new() -> Stdio

Create a new stdio buffer.

source

pub fn get_reader(&self) -> StdioReader

Get a reader to the stdio buffer. Note that each reader has its own inner buffer. The buffer size is set to be 256 bytes. Resort to get_reader_with_buf_capacity if one needs a different buffer size.

source

pub fn get_reader_with_buf_capacity(&self, capacity: usize) -> StdioReader

Get a reader to the stdio buffer with a customized buffer size. Note that each reader has its own inner buffer.

source

pub fn get_writer(&self) -> StdioWriter

Get a writer to the stdio buffer.

Auto Trait Implementations§

§

impl !RefUnwindSafe for Stdio

§

impl Send for Stdio

§

impl Sync for Stdio

§

impl Unpin for Stdio

§

impl !UnwindSafe for Stdio

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere 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 Twhere 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 Twhere U: Into<T>,

§

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 Twhere U: TryFrom<T>,

§

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.