Skip to content

Commit

Permalink
fix(h2): improve errors emitted by H2 stream shutdown
Browse files Browse the repository at this point in the history
  • Loading branch information
nox committed Aug 19, 2021
1 parent 684f2fa commit 3cbb736
Showing 1 changed file with 17 additions and 2 deletions.
19 changes: 17 additions & 2 deletions src/proto/h2/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -377,9 +377,24 @@ where

fn poll_shutdown(
mut self: Pin<&mut Self>,
_cx: &mut Context<'_>,
cx: &mut Context<'_>,
) -> Poll<Result<(), io::Error>> {
Poll::Ready(self.send_stream.write(&[], true))
if self.send_stream.write(&[], true).is_ok() {
return Poll::Ready(Ok(()))
}

Poll::Ready(Err(h2_to_io_error(
match ready!(self.send_stream.poll_reset(cx)) {
Ok(Reason::NO_ERROR) => {
return Poll::Ready(Ok())
}
Ok(Reason::CANCEL) | Ok(Reason::STREAM_CLOSED) => {
return Poll::Ready(Err(io::ErrorKind::BrokenPipe.into()))
}
Ok(reason) => reason.into(),
Err(e) => e,
},
)))
}
}

Expand Down

0 comments on commit 3cbb736

Please sign in to comment.