# tokio_util::codec::FramedRead - Rust
API documentation for the Rust `FramedRead` struct in crate `tokio_util`.
Keywords: rust, rustlang, rust-lang, FramedRead

# Struct tokio_util::codec::FramedRead [−] [src]

    pub struct FramedRead<T, D> { /* fields omitted */ }

A `Stream` of messages decoded from an `AsyncRead`.

## Implementations

### `impl<T, D> FramedRead<T, D> where
T: AsyncRead,
D: Decoder,` [src]

#### `pub fn new(inner: T, decoder: D) -> FramedRead<T, D>` [src]

Creates a new `FramedRead` with the given `decoder`.

#### `pub fn with_capacity(inner: T, decoder: D, capacity: usize) -> FramedRead<T, D>` [src]

Creates a new `FramedRead` with the given `decoder` and a buffer of `capacity` initial size.

### `impl<T, D> FramedRead<T, D>` [src]

#### `pub fn get_ref(&self) -> &T` [src]

Returns a reference to the underlying I/O stream wrapped by `FramedRead`.

Note that care should be taken to not tamper with the underlying stream of data coming in as it may corrupt the stream of frames otherwise being worked with.

#### `pub fn get_mut(&mut self) -> &mut T` [src]

Returns a mutable reference to the underlying I/O stream wrapped by `FramedRead`.

Note that care should be taken to not tamper with the underlying stream of data coming in as it may corrupt the stream of frames otherwise being worked with.

#### `pub fn get_pin_mut(self: Pin<&mut Self>) -> Pin<&mut T>` [src]

Returns a pinned mutable reference to the underlying I/O stream wrapped by `FramedRead`.

Note that care should be taken to not tamper with the underlying stream of data coming in as it may corrupt the stream of frames otherwise being worked with.

#### `pub fn into_inner(self) -> T` [src]

Consumes the `FramedRead`, returning its underlying I/O stream.

Note that care should be taken to not tamper with the underlying stream of data coming in as it may corrupt the stream of frames otherwise being worked with.

#### `pub fn decoder(&self) -> &D` [src]

Returns a reference to the underlying decoder.

#### `pub fn decoder_mut(&mut self) -> &mut D` [src]

Returns a mutable reference to the underlying decoder.

#### `pub fn read_buffer(&self) -> &BytesMut` [src]

Returns a reference to the read buffer.

#### `pub fn read_buffer_mut(&mut self) -> &mut BytesMut` [src]

Returns a mutable reference to the read buffer.

## Trait Implementations

### `impl<T, D> Debug for FramedRead<T, D> where
T: Debug,
D: Debug,` [src]

#### `fn fmt(&self, f: &mut Formatter<'_>) -> Result` [src]

Formats the value using the given formatter. Read more

### `impl<T, I, D> Sink<I> for FramedRead<T, D> where
T: Sink<I>,` [src]

#### `type Error = T::Error`

The type of value produced by the sink when an error occurs.

#### `fn poll_ready(
self: Pin<&mut Self>,
cx: &mut Context<'_>
) -> Poll<Result<(), Self::Error>>` [src]

Attempts to prepare the `Sink` to receive a value. Read more

#### `fn start_send(self: Pin<&mut Self>, item: I) -> Result<(), Self::Error>` [src]

Begin the process of sending a value to the sink. Each call to this function must be preceded by a successful call to `poll_ready` which returned `Poll::Ready(Ok(()))`. Read more

#### `fn poll_flush(
self: Pin<&mut Self>,
cx: &mut Context<'_>
) -> Poll<Result<(), Self::Error>>` [src]

Flush any remaining output from this sink. Read more

#### `fn poll_close(
self: Pin<&mut Self>,
cx: &mut Context<'_>
) -> Poll<Result<(), Self::Error>>` [src]

Flush any remaining output and close this sink, if necessary. Read more

### `impl<T, D> Stream for FramedRead<T, D> where
T: AsyncRead,
D: Decoder,` [src]

#### `type Item = Result<D::Item, D::Error>`

Values yielded by the stream.

#### `fn poll_next(
self: Pin<&mut Self>,
cx: &mut Context<'_>
) -> Poll<Option<Self::Item>>` [src]

Attempt to pull out the next value of this stream, registering the current task for wakeup if the value is not yet available, and returning `None` if the stream is exhausted. Read more

#### `pub fn size_hint(&self) -> (usize, Option<usize>)` [src]

Returns the bounds on the remaining length of the stream. Read more

### `impl<'__pin, T, D> Unpin for FramedRead<T, D> where
__Origin<'__pin, T, D>: Unpin,` [src]

## Auto Trait Implementations

### `impl<T, D> RefUnwindSafe for FramedRead<T, D> where
D: RefUnwindSafe,
T: RefUnwindSafe,` [src]

### `impl<T, D> Send for FramedRead<T, D> where
D: Send,
T: Send,` [src]

### `impl<T, D> Sync for FramedRead<T, D> where
D: Sync,
T: Sync,` [src]

### `impl<T, D> UnwindSafe for FramedRead<T, D> where
D: UnwindSafe,
T: UnwindSafe,` [src]

## Blanket Implementations

### `impl<T> Any for T where
T: 'static + ?Sized,` [src]

#### `pub fn type_id(&self) -> TypeId` [src]

Gets the `TypeId` of `self`. Read more

### `impl<T> Borrow<T> for T where
T: ?Sized,` [src]

#### `pub fn borrow(&self) -> &T` [src]

Immutably borrows from an owned value. Read more

### `impl<T> BorrowMut<T> for T where
T: ?Sized,` [src]

#### `pub fn borrow_mut(&mut self) -> &mut T` [src]

Mutably borrows from an owned value. Read more

### `impl<T> From<T> for T` [src]

#### `pub fn from(t: T) -> T` [src]

Performs the conversion.

### `impl<T, U> Into<U> for T where
U: From<T>,` [src]

#### `pub fn into(self) -> U` [src]

Performs the conversion.

### `impl<T, U> TryFrom<U> for T where
U: Into<T>,` [src]

#### `type Error = Infallible`

The type returned in the event of a conversion error.

#### `pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>` [src]

Performs the conversion.

### `impl<T, U> TryInto<U> for T where
U: TryFrom<T>,` [src]

#### `type Error = <U as TryFrom<T>>::Error`

The type returned in the event of a conversion error.

#### `pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>` [src]

Performs the conversion.

### `impl<S, T, E> TryStream for S where
S: Stream<Item = Result<T, E>> + ?Sized,` [src]

#### `type Ok = T`

The type of successful values yielded by this future

#### `type Error = E`

The type of failures yielded by this future

#### `pub fn try_poll_next(
self: Pin<&mut S>,
cx: &mut Context<'_>
) -> Poll<Option<Result<<S as TryStream>::Ok, <S as TryStream>::Error>>>` [src]

Poll this `TryStream` as if it were a `Stream`. Read more