don't cancel streams after shutdown (#4673)

This ensures that `stream.Write` and `stream.Read` return the error code
from connection close, if the stream was closed as a result of
connection close.
This commit is contained in:
sukun
2024-09-14 10:17:48 +05:30
committed by GitHub
parent 672f906a40
commit d22d579733
4 changed files with 27 additions and 0 deletions

View File

@@ -630,6 +630,17 @@ var _ = Describe("Receive Stream", func() {
Fin: true,
})).To(Succeed())
})
It("ignores cancellations after closeForShutdown", func() {
closeErr := errors.New("closed for shutdown")
str.closeForShutdown(closeErr)
buf := make([]byte, 100)
_, err := str.Read(buf)
Expect(err).To(Equal(closeErr))
str.CancelRead(42)
_, err = str.Read(buf)
Expect(err).To(Equal(closeErr))
})
})
Context("receiving RESET_STREAM frames", func() {