summaryrefslogtreecommitdiffstats
path: root/openpgp/src
diff options
context:
space:
mode:
authorJustus Winter <justus@sequoia-pgp.org>2020-10-19 13:17:09 +0200
committerJustus Winter <justus@sequoia-pgp.org>2020-10-19 16:16:17 +0200
commit9ba3972b9bef03a446c1b53385ef1313c492147a (patch)
treeec0312c754b3c29d582136498a8ad26280189856 /openpgp/src
parentc5d1b7e3847d56b33b8e738c8cff4c8e2a24527c (diff)
openpgp: Avoid buffering.
Diffstat (limited to 'openpgp/src')
-rw-r--r--openpgp/src/armor.rs6
-rw-r--r--openpgp/src/parse/packet_parser_builder.rs4
2 files changed, 6 insertions, 4 deletions
diff --git a/openpgp/src/armor.rs b/openpgp/src/armor.rs
index 54380acf..6e64a596 100644
--- a/openpgp/src/armor.rs
+++ b/openpgp/src/armor.rs
@@ -559,14 +559,14 @@ impl<'a> Reader<'a> {
mode)
}
- pub(crate) fn from_buffered_reader<C: 'a, M>(
- inner: Box<dyn BufferedReader<C> + 'a>, mode: M) -> Self
+ pub(crate) fn from_buffered_reader<M>(
+ inner: Box<dyn BufferedReader<()> + 'a>, mode: M) -> Self
where M: Into<Option<ReaderMode>>
{
let mode = mode.into().unwrap_or(Default::default());
Reader {
- source: Box::new(buffered_reader::Generic::new(inner, None)),
+ source: inner,
kind: None,
mode,
buffer: Vec::<u8>::with_capacity(1024),
diff --git a/openpgp/src/parse/packet_parser_builder.rs b/openpgp/src/parse/packet_parser_builder.rs
index ddb663d0..3e3d5a2e 100644
--- a/openpgp/src/parse/packet_parser_builder.rs
+++ b/openpgp/src/parse/packet_parser_builder.rs
@@ -416,7 +416,9 @@ impl<'a> PacketParserBuilder<'a> {
if let Some(mode) = dearmor_mode {
self.bio = Box::new(buffered_reader::Generic::with_cookie(
- armor::Reader::from_buffered_reader(self.bio, Some(mode)),
+ armor::Reader::from_buffered_reader(
+ buffered_reader::Adapter::new(self.bio).as_boxed(),
+ Some(mode)),
None,
Default::default()));
}