forked from quic-go/quic-go
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:
@@ -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())
|
||||
|
||||
Reference in New Issue
Block a user