diff options
author | Haibo Huang <hhb@google.com> | 2021-01-11 19:30:56 -0800 |
---|---|---|
committer | Haibo Huang <hhb@google.com> | 2021-01-11 19:30:56 -0800 |
commit | 49f37ac424d7df1f8ee1989d8f3b5ceb6b6a9ea0 (patch) | |
tree | 9fee875946571b5e3156284b964bf3617ced0ca1 /src/buf/ext/writer.rs | |
parent | 2b95745e709cfb52a81074e4882d0a2cbaaea2ed (diff) | |
download | bytes-49f37ac424d7df1f8ee1989d8f3b5ceb6b6a9ea0.tar.gz |
Upgrade rust/crates/bytes to 1.0.1
Test: make
Change-Id: Ie9751d0251a3844858395badc8546303dcddeb24
Diffstat (limited to 'src/buf/ext/writer.rs')
-rw-r--r-- | src/buf/ext/writer.rs | 88 |
1 files changed, 0 insertions, 88 deletions
diff --git a/src/buf/ext/writer.rs b/src/buf/ext/writer.rs deleted file mode 100644 index a14197c..0000000 --- a/src/buf/ext/writer.rs +++ /dev/null @@ -1,88 +0,0 @@ -use crate::BufMut; - -use std::{cmp, io}; - -/// A `BufMut` adapter which implements `io::Write` for the inner value. -/// -/// This struct is generally created by calling `writer()` on `BufMut`. See -/// documentation of [`writer()`](trait.BufMut.html#method.writer) for more -/// details. -#[derive(Debug)] -pub struct Writer<B> { - buf: B, -} - -pub fn new<B>(buf: B) -> Writer<B> { - Writer { buf } -} - -impl<B: BufMut> Writer<B> { - /// Gets a reference to the underlying `BufMut`. - /// - /// It is inadvisable to directly write to the underlying `BufMut`. - /// - /// # Examples - /// - /// ```rust - /// use bytes::buf::BufMutExt; - /// - /// let buf = Vec::with_capacity(1024).writer(); - /// - /// assert_eq!(1024, buf.get_ref().capacity()); - /// ``` - pub fn get_ref(&self) -> &B { - &self.buf - } - - /// Gets a mutable reference to the underlying `BufMut`. - /// - /// It is inadvisable to directly write to the underlying `BufMut`. - /// - /// # Examples - /// - /// ```rust - /// use bytes::buf::BufMutExt; - /// - /// let mut buf = vec![].writer(); - /// - /// buf.get_mut().reserve(1024); - /// - /// assert_eq!(1024, buf.get_ref().capacity()); - /// ``` - pub fn get_mut(&mut self) -> &mut B { - &mut self.buf - } - - /// Consumes this `Writer`, returning the underlying value. - /// - /// # Examples - /// - /// ```rust - /// use bytes::buf::BufMutExt; - /// use std::io; - /// - /// let mut buf = vec![].writer(); - /// let mut src = &b"hello world"[..]; - /// - /// io::copy(&mut src, &mut buf).unwrap(); - /// - /// let buf = buf.into_inner(); - /// assert_eq!(*buf, b"hello world"[..]); - /// ``` - pub fn into_inner(self) -> B { - self.buf - } -} - -impl<B: BufMut + Sized> io::Write for Writer<B> { - fn write(&mut self, src: &[u8]) -> io::Result<usize> { - let n = cmp::min(self.buf.remaining_mut(), src.len()); - - self.buf.put(&src[0..n]); - Ok(n) - } - - fn flush(&mut self) -> io::Result<()> { - Ok(()) - } -} |