From: Ian Jackson Date: Sat, 17 Apr 2021 19:30:49 +0000 (+0100) Subject: packetframe: Handle end of chunk differently X-Git-Tag: otter-0.6.0~538 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=2fe96e807500f4fe23f818313bb13d876cb24af6;p=otter.git packetframe: Handle end of chunk differently GoodEof is much nicer. Signed-off-by: Ian Jackson --- diff --git a/src/packetframe.rs b/src/packetframe.rs index 2093da21..5a0d2e28 100644 --- a/src/packetframe.rs +++ b/src/packetframe.rs @@ -204,12 +204,12 @@ impl FrameReader { } } { // value in chunk header - 0 => Left(Ok(0)), - CHUNK_ERR => Left(Err(SenderError)), + 0 => Left(RE::GoodEof), + CHUNK_ERR => Left(RE::SE(SenderError)), x => Right(x as usize), } { // Left( end of frame ) Right( nonempty chunk len ) - Left(r) => { self.state = Idle; return r?; } + Left(e) => { self.state = Idle; throw!(e); } Right(x) => x, }); match self.state { InFrame(ref mut x) => x, _ => panic!() }