Struct ReadBuf

Source
pub struct ReadBuf<S> {
    pub in_buf: Buf,
    /* private fields */
}
Expand description

An input counterpart of IoBuf when the latter is split

Fields§

§in_buf: Buf

Implementations§

Source§

impl<S> ReadBuf<S>

Source

pub fn read(&mut self) -> Result<usize, Error>
where S: AsyncRead,

Read a chunk of data into a buffer

The data just read can then be found in self.in_buf.

This method does just one read. Because you are ought to try parse request after every read rather than reading a lot of the data in memory.

This method returns 0 when no bytes are read, both when WouldBlock occurred and when connection has been closed. You may then use self.done() to distinguish from these conditions.

Note: this method silently assumes that you will call it on poll every time until self.done() returns false. I.e. it behaves as Async method but does’t return Async value to allow simpler handling

Source

pub fn done(&self) -> bool

Returns true when connection is closed by peer

Note: this method returns false and schedules a wakeup if connecion is currently locked

Source

pub fn framed<D: Decode>(self, codec: D) -> ReadFramed<S, D>

Trait Implementations§

Source§

impl<S> Debug for ReadBuf<S>

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<S> Freeze for ReadBuf<S>

§

impl<S> !RefUnwindSafe for ReadBuf<S>

§

impl<S> Send for ReadBuf<S>
where S: Send,

§

impl<S> Sync for ReadBuf<S>
where S: Send,

§

impl<S> Unpin for ReadBuf<S>

§

impl<S> !UnwindSafe for ReadBuf<S>

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.