summaryrefslogtreecommitdiffstats
path: root/buffered-reader/src/generic.rs
diff options
context:
space:
mode:
Diffstat (limited to 'buffered-reader/src/generic.rs')
-rw-r--r--buffered-reader/src/generic.rs20
1 files changed, 17 insertions, 3 deletions
diff --git a/buffered-reader/src/generic.rs b/buffered-reader/src/generic.rs
index 1ab87e50..c4d8aedd 100644
--- a/buffered-reader/src/generic.rs
+++ b/buffered-reader/src/generic.rs
@@ -15,9 +15,8 @@ pub struct Generic<T: io::Read, C> {
cursor: usize,
// The preferred chunk size. This is just a hint.
preferred_chunk_size: usize,
- // XXX: This is pub for the decompressors. It would be better to
- // change this to some accessor method.
- pub reader: Box<T>,
+ // The wrapped reader.
+ reader: Box<T>,
// The user settable cookie.
cookie: C,
@@ -72,6 +71,21 @@ impl<T: io::Read, C> Generic<T, C> {
}
}
+ /// Returns a reference to the wrapped writer.
+ pub fn reader_ref(&self) -> &T {
+ &self.reader
+ }
+
+ /// Returns a mutable reference to the wrapped writer.
+ pub fn reader_mut(&mut self) -> &mut T {
+ &mut self.reader
+ }
+
+ /// Returns the wrapped writer.
+ pub fn into_reader(self) -> T {
+ *self.reader
+ }
+
/// Return the buffer. Ensure that it contains at least `amount`
/// bytes.
fn data_helper(&mut self, amount: usize, hard: bool, and_consume: bool)