Streams receiving peer reset clear pending send (#238)

Because streams that were being peer reset were not clearing pending
send frames / buffered_send_data, they were not being counted towards
the concurrency limit.
This commit is contained in:
Darren Tsung
2018-03-13 12:47:57 -07:00
committed by Sean McArthur
parent 267789da92
commit f8baeb7211
6 changed files with 97 additions and 7 deletions

View File

@@ -588,16 +588,12 @@ impl Recv {
}
/// Handle remote sending an explicit RST_STREAM.
pub fn recv_reset(
&mut self,
frame: frame::Reset,
stream: &mut Stream,
) -> Result<(), RecvError> {
pub fn recv_reset(&mut self, frame: frame::Reset, stream: &mut Stream) {
// Notify the stream
stream.state.recv_reset(frame.reason());
stream.notify_send();
stream.notify_recv();
Ok(())
}
/// Handle a received error