about summary refs log tree commit diff
path: root/src/libstd
diff options
context:
space:
mode:
authorJonathan Behrens <fintelia@gmail.com>2018-10-19 15:09:08 -0400
committerJonathan Behrens <fintelia@gmail.com>2018-11-02 13:39:56 -0400
commit7eece4771b49c4a199b0643f355b1ec6b63d95aa (patch)
treec2f0f9ebfb54450747c0356a3ddf0a4f07f2e237 /src/libstd
parent87a3c1ee7016bbfb782f2fd8adc75b46687ef929 (diff)
downloadrust-7eece4771b49c4a199b0643f355b1ec6b63d95aa.tar.gz
rust-7eece4771b49c4a199b0643f355b1ec6b63d95aa.zip
Add BufWriter::buffer method
Diffstat (limited to 'src/libstd')
-rw-r--r--src/libstd/io/buffered.rs19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/libstd/io/buffered.rs b/src/libstd/io/buffered.rs
index e26e6d391f8..5b19c0b81bd 100644
--- a/src/libstd/io/buffered.rs
+++ b/src/libstd/io/buffered.rs
@@ -525,6 +525,25 @@ impl<W: Write> BufWriter<W> {
     #[stable(feature = "rust1", since = "1.0.0")]
     pub fn get_mut(&mut self) -> &mut W { self.inner.as_mut().unwrap() }
 
+    /// Returns a reference to the internally buffered data.
+    ///
+    /// # Examples
+    ///
+    /// ```no_run
+    /// # #![feature(bufreader_buffer)]
+    /// use std::io::BufWriter;
+    /// use std::net::TcpStream;
+    ///
+    /// let mut buf_writer = BufWriter::new(TcpStream::connect("127.0.0.1:34254").unwrap());
+    ///
+    /// // See how many bytes are currently buffered
+    /// let bytes_buffered = buf_writer.buffer().len();
+    /// ```
+    #[unstable(feature = "bufreader_buffer", issue = "45323")]
+    pub fn buffer(&self) -> &[u8] {
+        &self.buf[..]
+    }
+
     /// Unwraps this `BufWriter`, returning the underlying writer.
     ///
     /// The buffer is written out before returning the writer.