Closed bjin closed 1 year ago
I added two tests, simulating both cases that client/server stop the stream first.
Here client or server stop the stream by first sending STOP_SENDING followed by RESET_STREAM. This is how Chrome performs stream closing while keeping connection opened.
Without the fix, both test will fail (hang indefinitely).
Rebased and merged. Thank you for your contribution! I will make a new release tomorrow.
Thanks!
If
RESET_STREAM
frame arrives afterrecvStream
started pulling fromRecvStreamQ
(takeRecvStreamQ
call intakeRecvStreamQwithSize
),recvStream
will hang indefinitely (until being killed by thread manager).Fix this by pushing a pseudo FIN (empty bytestring) to
RecvStreamQ
.