diff options
author | 2020-10-16 15:16:23 -0700 | |
---|---|---|
committer | 2020-10-16 15:16:23 -0700 | |
commit | 94c543f74b111e894d16faa43e4ad361b97ee87d (patch) | |
tree | 8cad5f70cc986e8b1952dc52436933e9a5a34f05 /src/buf/ext/reader.rs | |
parent | 447530b8a6f97fc6864b39d29b24efb4ac9202d3 (diff) | |
download | bytes-94c543f74b111e894d16faa43e4ad361b97ee87d.tar.gz bytes-94c543f74b111e894d16faa43e4ad361b97ee87d.tar.zst bytes-94c543f74b111e894d16faa43e4ad361b97ee87d.zip |
remove ext traits (#431)
Diffstat (limited to 'src/buf/ext/reader.rs')
-rw-r--r-- | src/buf/ext/reader.rs | 81 |
1 files changed, 0 insertions, 81 deletions
diff --git a/src/buf/ext/reader.rs b/src/buf/ext/reader.rs deleted file mode 100644 index dde3548..0000000 --- a/src/buf/ext/reader.rs +++ /dev/null @@ -1,81 +0,0 @@ -use crate::Buf; - -use std::{cmp, io}; - -/// A `Buf` adapter which implements `io::Read` for the inner value. -/// -/// This struct is generally created by calling `reader()` on `Buf`. See -/// documentation of [`reader()`](trait.Buf.html#method.reader) for more -/// details. -#[derive(Debug)] -pub struct Reader<B> { - buf: B, -} - -pub fn new<B>(buf: B) -> Reader<B> { - Reader { buf } -} - -impl<B: Buf> Reader<B> { - /// Gets a reference to the underlying `Buf`. - /// - /// It is inadvisable to directly read from the underlying `Buf`. - /// - /// # Examples - /// - /// ```rust - /// use bytes::buf::BufExt; - /// - /// let buf = b"hello world".reader(); - /// - /// assert_eq!(b"hello world", buf.get_ref()); - /// ``` - pub fn get_ref(&self) -> &B { - &self.buf - } - - /// Gets a mutable reference to the underlying `Buf`. - /// - /// It is inadvisable to directly read from the underlying `Buf`. - pub fn get_mut(&mut self) -> &mut B { - &mut self.buf - } - - /// Consumes this `Reader`, returning the underlying value. - /// - /// # Examples - /// - /// ```rust - /// use bytes::{Buf, buf::BufExt}; - /// use std::io; - /// - /// let mut buf = b"hello world".reader(); - /// let mut dst = vec![]; - /// - /// io::copy(&mut buf, &mut dst).unwrap(); - /// - /// let buf = buf.into_inner(); - /// assert_eq!(0, buf.remaining()); - /// ``` - pub fn into_inner(self) -> B { - self.buf - } -} - -impl<B: Buf + Sized> io::Read for Reader<B> { - fn read(&mut self, dst: &mut [u8]) -> io::Result<usize> { - let len = cmp::min(self.buf.remaining(), dst.len()); - - Buf::copy_to_slice(&mut self.buf, &mut dst[0..len]); - Ok(len) - } -} - -impl<B: Buf + Sized> io::BufRead for Reader<B> { - fn fill_buf(&mut self) -> io::Result<&[u8]> { - Ok(self.buf.bytes()) - } - fn consume(&mut self, amt: usize) { - self.buf.advance(amt) - } -} |