[−][src]Struct futures_ext::BytesStream
A structure that wraps a Stream of Bytes and lets it being accessed both as a Stream and as AsyncRead. It is very useful when decoding Stream of Bytes in an asynchronous way.
Implementations
impl<S: Stream<Item = Bytes>> BytesStream<S>
[src]
pub fn new(stream: S) -> Self
[src]
Create a new instance of BytesStream wrapping the given Stream of Bytes
pub fn is_empty(&self) -> bool
[src]
Returns true
if there are no more bytes left to be consumed
pub fn into_parts(self) -> (Bytes, S)
[src]
Consumes this combinator returning a pair of bytes that have been received, but not yet consumed and the Stream that can possibly yield more bytes
pub fn into_future_decode<Dec>(self, decoder: Dec) -> BytesStreamFuture<S, Dec> where
Dec: Decoder,
Dec::Error: From<S::Error>,
[src]
Dec: Decoder,
Dec::Error: From<S::Error>,
Returns a future that yields a single decoded item from the Bytes of this BytesStream (if any) and the remaining BytesStream.
pub fn prepend_bytes(&mut self, bytes: Bytes)
[src]
Adds some bytes to the front of the BytesStream internal buffer. Those bytes are ready to be read immediately after this function completes.
Trait Implementations
impl<S> AsyncRead for BytesStream<S> where
S: Stream<Item = Bytes, Error = Error>,
[src]
S: Stream<Item = Bytes, Error = Error>,
pub unsafe fn prepare_uninitialized_buffer(&self, buf: &mut [u8]) -> bool
[src]
pub fn poll_read(&mut self, buf: &mut [u8]) -> Result<Async<usize>, Error>
[src]
pub fn read_buf<B>(&mut self, buf: &mut B) -> Result<Async<usize>, Error> where
B: BufMut,
[src]
B: BufMut,
pub fn framed<T>(self, codec: T) -> Framed<Self, T> where
Self: AsyncWrite,
T: Decoder + Encoder,
[src]
Self: AsyncWrite,
T: Decoder + Encoder,
pub fn split(self) -> (ReadHalf<Self>, WriteHalf<Self>) where
Self: AsyncWrite,
[src]
Self: AsyncWrite,
impl<S> BufRead for BytesStream<S> where
S: Stream<Item = Bytes, Error = Error>,
[src]
S: Stream<Item = Bytes, Error = Error>,
pub fn fill_buf(&mut self) -> Result<&[u8]>
[src]
pub fn consume(&mut self, amt: usize)
[src]
pub fn read_until(
&mut self,
byte: u8,
buf: &mut Vec<u8, Global>
) -> Result<usize, Error>
1.0.0[src]
&mut self,
byte: u8,
buf: &mut Vec<u8, Global>
) -> Result<usize, Error>
pub fn read_line(&mut self, buf: &mut String) -> Result<usize, Error>
1.0.0[src]
pub fn split(self, byte: u8) -> Split<Self>
1.0.0[src]
pub fn lines(self) -> Lines<Self>
1.0.0[src]
impl<S: Debug> Debug for BytesStream<S>
[src]
impl<S: Stream<Item = Bytes>> From<S> for BytesStream<S>
[src]
impl<S> Read for BytesStream<S> where
S: Stream<Item = Bytes, Error = Error>,
[src]
S: Stream<Item = Bytes, Error = Error>,
pub fn read(&mut self, buf: &mut [u8]) -> Result<usize>
[src]
pub fn read_vectored(
&mut self,
bufs: &mut [IoSliceMut<'_>]
) -> Result<usize, Error>
1.36.0[src]
&mut self,
bufs: &mut [IoSliceMut<'_>]
) -> Result<usize, Error>
pub fn is_read_vectored(&self) -> bool
[src]
pub unsafe fn initializer(&self) -> Initializer
[src]
pub fn read_to_end(&mut self, buf: &mut Vec<u8, Global>) -> Result<usize, Error>
1.0.0[src]
pub fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>
1.0.0[src]
pub fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>
1.6.0[src]
pub fn by_ref(&mut self) -> &mut Self
1.0.0[src]
pub fn bytes(self) -> Bytes<Self>
1.0.0[src]
pub fn chain<R>(self, next: R) -> Chain<Self, R> where
R: Read,
1.0.0[src]
R: Read,
pub fn take(self, limit: u64) -> Take<Self>
1.0.0[src]
Auto Trait Implementations
impl<S> RefUnwindSafe for BytesStream<S> where
S: RefUnwindSafe,
[src]
S: RefUnwindSafe,
impl<S> Send for BytesStream<S> where
S: Send,
[src]
S: Send,
impl<S> Sync for BytesStream<S> where
S: Sync,
[src]
S: Sync,
impl<S> Unpin for BytesStream<S> where
S: Unpin,
[src]
S: Unpin,
impl<S> UnwindSafe for BytesStream<S> where
S: UnwindSafe,
[src]
S: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<R> ReadBytesExt for R where
R: Read + ?Sized,
R: Read + ?Sized,
pub fn read_u8(&mut self) -> Result<u8, Error>
pub fn read_i8(&mut self) -> Result<i8, Error>
pub fn read_u16<T>(&mut self) -> Result<u16, Error> where
T: ByteOrder,
T: ByteOrder,
pub fn read_i16<T>(&mut self) -> Result<i16, Error> where
T: ByteOrder,
T: ByteOrder,
pub fn read_u24<T>(&mut self) -> Result<u32, Error> where
T: ByteOrder,
T: ByteOrder,
pub fn read_i24<T>(&mut self) -> Result<i32, Error> where
T: ByteOrder,
T: ByteOrder,
pub fn read_u32<T>(&mut self) -> Result<u32, Error> where
T: ByteOrder,
T: ByteOrder,
pub fn read_i32<T>(&mut self) -> Result<i32, Error> where
T: ByteOrder,
T: ByteOrder,
pub fn read_u48<T>(&mut self) -> Result<u64, Error> where
T: ByteOrder,
T: ByteOrder,
pub fn read_i48<T>(&mut self) -> Result<i64, Error> where
T: ByteOrder,
T: ByteOrder,
pub fn read_u64<T>(&mut self) -> Result<u64, Error> where
T: ByteOrder,
T: ByteOrder,
pub fn read_i64<T>(&mut self) -> Result<i64, Error> where
T: ByteOrder,
T: ByteOrder,
pub fn read_u128<T>(&mut self) -> Result<u128, Error> where
T: ByteOrder,
T: ByteOrder,
pub fn read_i128<T>(&mut self) -> Result<i128, Error> where
T: ByteOrder,
T: ByteOrder,
pub fn read_uint<T>(&mut self, nbytes: usize) -> Result<u64, Error> where
T: ByteOrder,
T: ByteOrder,
pub fn read_int<T>(&mut self, nbytes: usize) -> Result<i64, Error> where
T: ByteOrder,
T: ByteOrder,
pub fn read_uint128<T>(&mut self, nbytes: usize) -> Result<u128, Error> where
T: ByteOrder,
T: ByteOrder,
pub fn read_int128<T>(&mut self, nbytes: usize) -> Result<i128, Error> where
T: ByteOrder,
T: ByteOrder,
pub fn read_f32<T>(&mut self) -> Result<f32, Error> where
T: ByteOrder,
T: ByteOrder,
pub fn read_f64<T>(&mut self) -> Result<f64, Error> where
T: ByteOrder,
T: ByteOrder,
pub fn read_u16_into<T>(&mut self, dst: &mut [u16]) -> Result<(), Error> where
T: ByteOrder,
T: ByteOrder,
pub fn read_u32_into<T>(&mut self, dst: &mut [u32]) -> Result<(), Error> where
T: ByteOrder,
T: ByteOrder,
pub fn read_u64_into<T>(&mut self, dst: &mut [u64]) -> Result<(), Error> where
T: ByteOrder,
T: ByteOrder,
pub fn read_u128_into<T>(&mut self, dst: &mut [u128]) -> Result<(), Error> where
T: ByteOrder,
T: ByteOrder,
pub fn read_i8_into(&mut self, dst: &mut [i8]) -> Result<(), Error>
pub fn read_i16_into<T>(&mut self, dst: &mut [i16]) -> Result<(), Error> where
T: ByteOrder,
T: ByteOrder,
pub fn read_i32_into<T>(&mut self, dst: &mut [i32]) -> Result<(), Error> where
T: ByteOrder,
T: ByteOrder,
pub fn read_i64_into<T>(&mut self, dst: &mut [i64]) -> Result<(), Error> where
T: ByteOrder,
T: ByteOrder,
pub fn read_i128_into<T>(&mut self, dst: &mut [i128]) -> Result<(), Error> where
T: ByteOrder,
T: ByteOrder,
pub fn read_f32_into<T>(&mut self, dst: &mut [f32]) -> Result<(), Error> where
T: ByteOrder,
T: ByteOrder,
pub fn read_f32_into_unchecked<T>(
&mut self,
dst: &mut [f32]
) -> Result<(), Error> where
T: ByteOrder,
&mut self,
dst: &mut [f32]
) -> Result<(), Error> where
T: ByteOrder,
pub fn read_f64_into<T>(&mut self, dst: &mut [f64]) -> Result<(), Error> where
T: ByteOrder,
T: ByteOrder,
pub fn read_f64_into_unchecked<T>(
&mut self,
dst: &mut [f64]
) -> Result<(), Error> where
T: ByteOrder,
&mut self,
dst: &mut [f64]
) -> Result<(), Error> where
T: ByteOrder,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
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]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,