remove closed streams from WindowUpdateManager

fixes #99
This commit is contained in:
Marten Seemann
2016-05-27 19:08:05 +07:00
parent d906492ae7
commit ffbd68770e
4 changed files with 31 additions and 0 deletions

View File

@@ -201,6 +201,17 @@ var _ = Describe("Session", func() {
Expect(session.blockedManager.blockedStreams).ToNot(HaveKey(protocol.StreamID(5)))
})
It("removes closed streams from WindowUpdateManager", func() {
session.handleStreamFrame(&frames.StreamFrame{
StreamID: 5,
Data: []byte{0xde, 0xca, 0xfb, 0xad},
})
session.updateReceiveFlowControlWindow(5, 0x1337)
session.streams[5].eof = 1
session.garbageCollectStreams()
Expect(session.windowUpdateManager.streamOffsets).ToNot(HaveKey(protocol.StreamID(5)))
})
It("closes empty streams with error", func() {
testErr := errors.New("test")
session.handleStreamFrame(&frames.StreamFrame{