diff options
author | Nora Widdecke <nora@sequoia-pgp.org> | 2020-11-03 15:51:24 +0100 |
---|---|---|
committer | Nora Widdecke <nora@sequoia-pgp.org> | 2020-11-09 13:06:59 +0100 |
commit | 42dc18325bb34a609e215254f417271edd5ee089 (patch) | |
tree | b8740d8b95622c4c1808f463fae24de9da872c33 /buffered-reader | |
parent | 8712c52b31b1ed16a1470adb46cf3f7fd7cc65e8 (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.rs | 17 |
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 |