From: Ian Jackson Date: Sat, 4 Jul 2020 19:45:09 +0000 (+0100) Subject: more debug X-Git-Tag: otter-0.2.0~1457 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=5c291f3a44ce30a60008121fbbb363cf90bf6710;p=otter.git more debug --- diff --git a/src/sse.rs b/src/sse.rs index fa76fcd2..13ca4c4f 100644 --- a/src/sse.rs +++ b/src/sse.rs @@ -104,8 +104,8 @@ data: {} loop { let generated = orig_wanted - buf.len(); if generated > 0 { - eprintln!("SENDING to {:?} {:?}:\n{}\n", - &self.player, &self.client, + eprintln!("SENDING {} to {:?} {:?}:\n{}\n", + generated, &self.player, &self.client, str::from_utf8(&orig_buf[0..generated]).unwrap()); return Ok(generated) } @@ -185,6 +185,20 @@ struct APIForm { } */ +#[derive(Debug)] +struct DebugReader(T); + +impl Read for DebugReader { + fn read(&mut self, buf: &mut [u8]) -> Result { + let l = buf.len(); + eprintln!("DebugReader({:?}).read()...", l); + let r = self.0.read(buf); + eprintln!("DebugReader({:?}).read() = {:?} {:?}", l, &r, + r.as_ref().map(|&r| str::from_utf8(&buf[0..r]))); + r + } +} + #[throws(OE)] pub fn content(iad : InstanceAccessDetails, gen: Generation) -> impl Read { @@ -212,5 +226,6 @@ eprintln!("updates content iad={:?} player={:?} cl={:?} updates={:?}", init_confirmation_send : iter::once(()), } }; - BufReader::with_capacity(UPDATE_READER_SIZE, content) + let content = BufReader::with_capacity(UPDATE_READER_SIZE, content); + DebugReader(content) }