aboutsummaryrefslogtreecommitdiff
path: root/src/buf/ext/writer.rs
diff options
context:
space:
mode:
authorHaibo Huang <hhb@google.com>2021-01-11 19:30:56 -0800
committerHaibo Huang <hhb@google.com>2021-01-11 19:30:56 -0800
commit49f37ac424d7df1f8ee1989d8f3b5ceb6b6a9ea0 (patch)
tree9fee875946571b5e3156284b964bf3617ced0ca1 /src/buf/ext/writer.rs
parent2b95745e709cfb52a81074e4882d0a2cbaaea2ed (diff)
downloadbytes-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.rs88
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(())
- }
-}