You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Returns true if the receive half has reached the end of stream.
A return value of true means that calls to poll and poll_trailers will both return None.
However in reality, it would return true also after the connection / stream encounters errors because
The problem of RecvStream::is_end_stream() returning true after encountering error is that it hints the user that the http request finishes successfully. So incomplete responses might be interpreted as complete ones.
My suggestion is that this function should only return true after seeing END_STREAM flag.
The text was updated successfully, but these errors were encountered:
The problem of RecvStream::is_end_stream() returning true after encountering error is that it hints the user that the http request finishes successfully. So incomplete responses might be interpreted as complete ones.
I think you're right. Want to submit a pull request fixing this?
From the doc
However in reality, it would return true also after the connection / stream encounters errors because
h2/src/proto/streams/recv.rs
Lines 560 to 562 in 77be664
and
is_recv_closed
is true regardless of the actual cause of the closureh2/src/proto/streams/state.rs
Lines 416 to 420 in 77be664
The problem of
RecvStream::is_end_stream()
returning true after encountering error is that it hints the user that the http request finishes successfully. So incomplete responses might be interpreted as complete ones.My suggestion is that this function should only return true after seeing END_STREAM flag.
The text was updated successfully, but these errors were encountered: