mirror of
https://github.com/refraction-networking/uquic.git
synced 2025-04-05 21:27:35 +03:00
mark stream completed when CancelWrite is called after receiving STOP_SENDING (#4605)
* garbage collect stream when CancelWrite is called after receiving STOP_SENDING * review comments * Hold lock while checking isNewlyCompleted --------- Co-authored-by: Marco Munizaga <git@marcopolo.io>
This commit is contained in:
parent
047cc90f42
commit
8d821f4bc8
2 changed files with 26 additions and 1 deletions
|
@ -909,6 +909,20 @@ var _ = Describe("Send Stream", func() {
|
|||
})
|
||||
})
|
||||
|
||||
It("discards the stream when CancelWrite is called after receiving STOP_SENDING", func() {
|
||||
mockSender.EXPECT().queueControlFrame(&wire.ResetStreamFrame{
|
||||
StreamID: streamID,
|
||||
ErrorCode: 101,
|
||||
})
|
||||
str.handleStopSendingFrame(&wire.StopSendingFrame{
|
||||
StreamID: streamID,
|
||||
ErrorCode: 101,
|
||||
})
|
||||
|
||||
mockSender.EXPECT().onStreamCompleted(gomock.Any())
|
||||
str.CancelWrite(101)
|
||||
})
|
||||
|
||||
It("unblocks Write", func() {
|
||||
mockSender.EXPECT().onHasStreamData(streamID, str)
|
||||
mockSender.EXPECT().queueControlFrame(gomock.Any())
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue