summaryrefslogtreecommitdiffstats
path: root/buffered-reader
diff options
context:
space:
mode:
authorNora Widdecke <nora@sequoia-pgp.org>2020-11-03 15:51:24 +0100
committerNora Widdecke <nora@sequoia-pgp.org>2020-11-09 13:06:59 +0100
commit42dc18325bb34a609e215254f417271edd5ee089 (patch)
treeb8740d8b95622c4c1808f463fae24de9da872c33 /buffered-reader
parent8712c52b31b1ed16a1470adb46cf3f7fd7cc65e8 (diff)
buffered_reader: Move dump to buffered_reader.
- Use the Cookie's debug output to allow for generic Cookies.
Diffstat (limited to 'buffered-reader')
-rw-r--r--buffered-reader/src/lib.rs17
1 files changed, 17 insertions, 0 deletions
diff --git a/buffered-reader/src/lib.rs b/buffered-reader/src/lib.rs
index 2b9a37b9..308187ea 100644
--- a/buffered-reader/src/lib.rs
+++ b/buffered-reader/src/lib.rs
@@ -816,6 +816,23 @@ pub trait BufferedReader<C> : io::Read + fmt::Debug + fmt::Display
Ok(at_least_one_byte)
}
+ /// Dump
+ /// A helpful debugging aid to pretty print a Buffered Reader stack.
+ fn dump(&self) where Self: std::marker::Sized {
+ let mut i = 1;
+ let mut reader: Option<&dyn BufferedReader<C>> = Some(self);
+ while let Some(r) = reader {
+ {
+ let cookie = r.cookie_ref();
+ eprintln!(" {}. {}, {:?}", i, r, cookie);
+ }
+ reader = r.get_ref();
+ i = i + 1;
+ }
+ }
+
+
+
/// Boxes the reader.
fn as_boxed<'a>(self) -> Box<dyn BufferedReader<C> + 'a>
where Self: 'a + Sized