Client::poll_ready() returns an Error if next stream ID would overflow (#103)

Closes #102
This commit is contained in:
Sean McArthur
2017-09-19 14:16:32 -07:00
committed by GitHub
parent 0c8bd75224
commit db8c109817
5 changed files with 17 additions and 6 deletions

View File

@@ -299,6 +299,10 @@ where
Ok(())
}
pub fn ensure_next_stream_id(&self) -> Result<StreamId, UserError> {
self.next_stream_id.map_err(|_| OverflowedStreamId)
}
/// Returns a new StreamId if the local actor can initiate a new stream.
fn try_open(&self) -> Result<StreamId, UserError> {
if P::is_server() {
@@ -306,6 +310,6 @@ where
return Err(UnexpectedFrameType);
}
self.next_stream_id.map_err(|_| OverflowedStreamId)
self.ensure_next_stream_id()
}
}