http3: fix memory leak in stream state tracking (#4523)

* fix(http3): handle streamStateSendAndReceiveClosed in onStreamStateChange

Signed-off-by: George MacRorie <me@georgemac.com>

* refactor(http3): adjust stateTrackingStream to operate over streamClearer and errorSetter

* test(http3): remove duplicate test case

* chore(http3): rename test spies to be mocks

---------

Signed-off-by: George MacRorie <me@georgemac.com>
This commit is contained in:
George
2024-05-19 03:15:32 +01:00
committed by GitHub
parent f3cecf952e
commit e2fbf3cdcd
5 changed files with 259 additions and 128 deletions

View File

@@ -54,7 +54,7 @@ var _ = Describe("Datagrams", func() {
dg := newDatagrammer(nil)
dg.enqueue([]byte("foo"))
testErr := errors.New("test error")
Expect(dg.SetReceiveError(testErr)).To(BeFalse())
dg.SetReceiveError(testErr)
dg.enqueue([]byte("bar"))
data, err := dg.Receive(context.Background())
Expect(err).ToNot(HaveOccurred())