diff options
author | Justus Winter <justus@sequoia-pgp.org> | 2020-10-19 15:58:10 +0200 |
---|---|---|
committer | Justus Winter <justus@sequoia-pgp.org> | 2020-10-19 18:13:51 +0200 |
commit | 7ecf1c6868f28b4afa403db385ac5e8538961fa0 (patch) | |
tree | fd22aee8a881e5632f811aa0f935201f4e411f99 | |
parent | 9ba3972b9bef03a446c1b53385ef1313c492147a (diff) |
buffered-reader: Make Generic::reader private and add accessors.
-rw-r--r-- | buffered-reader/src/decompress_bzip2.rs | 6 | ||||
-rw-r--r-- | buffered-reader/src/decompress_deflate.rs | 12 | ||||
-rw-r--r-- | buffered-reader/src/generic.rs | 20 | ||||
-rw-r--r-- | openpgp/src/crypto/aead.rs | 6 | ||||
-rw-r--r-- | openpgp/src/crypto/symmetric.rs | 6 |
5 files changed, 32 insertions, 18 deletions
diff --git a/buffered-reader/src/decompress_bzip2.rs b/buffered-reader/src/decompress_bzip2.rs index 96cf13b0..ddb0dd67 100644 --- a/buffered-reader/src/decompress_bzip2.rs +++ b/buffered-reader/src/decompress_bzip2.rs @@ -101,17 +101,17 @@ impl<R: BufferedReader<C>, C> BufferedReader<C> for Bzip<R, C> { } fn get_mut(&mut self) -> Option<&mut dyn BufferedReader<C>> { - Some(self.reader.reader.get_mut()) + Some(self.reader.reader_mut().get_mut()) } fn get_ref(&self) -> Option<&dyn BufferedReader<C>> { - Some(self.reader.reader.get_ref()) + Some(self.reader.reader_ref().get_ref()) } fn into_inner<'b>(self: Box<Self>) -> Option<Box<dyn BufferedReader<C> + 'b>> where Self: 'b { // Strip the outer box. - Some(self.reader.reader.into_inner().as_boxed()) + Some(self.reader.into_reader().into_inner().as_boxed()) } fn cookie_set(&mut self, cookie: C) -> C { diff --git a/buffered-reader/src/decompress_deflate.rs b/buffered-reader/src/decompress_deflate.rs index a54d018c..de6210e7 100644 --- a/buffered-reader/src/decompress_deflate.rs +++ b/buffered-reader/src/decompress_deflate.rs @@ -102,17 +102,17 @@ impl<R: BufferedReader<C>, C> BufferedReader<C> } fn get_mut(&mut self) -> Option<&mut dyn BufferedReader<C>> { - Some(self.reader.reader.get_mut()) + Some(self.reader.reader_mut().get_mut()) } fn get_ref(&self) -> Option<&dyn BufferedReader<C>> { - Some(self.reader.reader.get_ref()) + Some(self.reader.reader_ref().get_ref()) } fn into_inner<'b>(self: Box<Self>) -> Option<Box<dyn BufferedReader<C> + 'b>> where Self: 'b { // Strip the outer box. - Some(self.reader.reader.into_inner().as_boxed()) + Some(self.reader.into_reader().into_inner().as_boxed()) } fn cookie_set(&mut self, cookie: C) -> C { @@ -224,17 +224,17 @@ impl<R: BufferedReader<C>, C> BufferedReader<C> } fn get_mut(&mut self) -> Option<&mut dyn BufferedReader<C>> { - Some(self.reader.reader.get_mut()) + Some(self.reader.reader_mut().get_mut()) } fn get_ref(&self) -> Option<&dyn BufferedReader<C>> { - Some(self.reader.reader.get_ref()) + Some(self.reader.reader_ref().get_ref()) } fn into_inner<'b>(self: Box<Self>) -> Option<Box<dyn BufferedReader<C> + 'b>> where Self: 'b { // Strip the outer box. - Some(self.reader.reader.into_inner().as_boxed()) + Some(self.reader.into_reader().into_inner().as_boxed()) } fn cookie_set(&mut self, cookie: C) -> C { 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) diff --git a/openpgp/src/crypto/aead.rs b/openpgp/src/crypto/aead.rs index bbeb13bd..d6b937b4 100644 --- a/openpgp/src/crypto/aead.rs +++ b/openpgp/src/crypto/aead.rs @@ -480,16 +480,16 @@ impl<'a> BufferedReader<Cookie> for BufferedReaderDecryptor<'a> { } fn get_mut(&mut self) -> Option<&mut dyn BufferedReader<Cookie>> { - Some(&mut self.reader.reader.source) + Some(&mut self.reader.reader_mut().source) } fn get_ref(&self) -> Option<&dyn BufferedReader<Cookie>> { - Some(&self.reader.reader.source) + Some(&self.reader.reader_ref().source) } fn into_inner<'b>(self: Box<Self>) -> Option<Box<dyn BufferedReader<Cookie> + 'b>> where Self: 'b { - Some(self.reader.reader.source.as_boxed()) + Some(self.reader.into_reader().source.as_boxed()) } fn cookie_set(&mut self, cookie: Cookie) -> Cookie { diff --git a/openpgp/src/crypto/symmetric.rs b/openpgp/src/crypto/symmetric.rs index 67d64480..09de7448 100644 --- a/openpgp/src/crypto/symmetric.rs +++ b/openpgp/src/crypto/symmetric.rs @@ -280,16 +280,16 @@ impl<R: BufferedReader<C>, C> BufferedReader<C> } fn get_mut(&mut self) -> Option<&mut dyn BufferedReader<C>> { - Some(&mut self.reader.reader.source) + Some(&mut self.reader.reader_mut().source) } fn get_ref(&self) -> Option<&dyn BufferedReader<C>> { - Some(&self.reader.reader.source) + Some(&self.reader.reader_ref().source) } fn into_inner<'b>(self: Box<Self>) -> Option<Box<dyn BufferedReader<C> + 'b>> where Self: 'b { - Some(self.reader.reader.source.as_boxed()) + Some(self.reader.into_reader().source.as_boxed()) } fn cookie_set(&mut self, cookie: C) -> C { |