From 16d610417b262411b1bd38980d0bf62865b76925 Mon Sep 17 00:00:00 2001 From: Marten Seemann Date: Fri, 8 Dec 2017 18:14:22 +0700 Subject: [PATCH] don't send every MAX_{STREAM}_DATA twice --- session.go | 8 +------- session_test.go | 23 ----------------------- 2 files changed, 1 insertion(+), 30 deletions(-) diff --git a/session.go b/session.go index e282c69a..7ae90301 100644 --- a/session.go +++ b/session.go @@ -694,8 +694,7 @@ func (s *session) sendPacket() error { // Get MAX_DATA and MAX_STREAM_DATA frames // this call triggers the flow controller to increase the flow control windows, if necessary - windowUpdates := s.getWindowUpdates() - for _, f := range windowUpdates { + for _, f := range s.getWindowUpdates() { s.packer.QueueControlFrame(f) } @@ -777,11 +776,6 @@ func (s *session) sendPacket() error { return err } - // send every window update twice - for _, f := range windowUpdates { - s.packer.QueueControlFrame(f) - } - windowUpdates = nil ack = nil } } diff --git a/session_test.go b/session_test.go index d2a6efe4..aeca6f37 100644 --- a/session_test.go +++ b/session_test.go @@ -830,29 +830,6 @@ var _ = Describe("Session", func() { Expect(sess.sentPacketHandler.(*mockSentPacketHandler).sentPackets[0].Frames).To(ContainElement(&wire.PingFrame{})) }) - It("sends two MAX_STREAM_DATA frames", func() { - mockFC := mocks.NewMockStreamFlowController(mockCtrl) - mockFC.EXPECT().GetWindowUpdate().Return(protocol.ByteCount(0x1000)) - mockFC.EXPECT().GetWindowUpdate().Return(protocol.ByteCount(0)).Times(2) - str, err := sess.GetOrOpenStream(5) - Expect(err).ToNot(HaveOccurred()) - str.(*stream).flowController = mockFC - err = sess.sendPacket() - Expect(err).NotTo(HaveOccurred()) - err = sess.sendPacket() - Expect(err).NotTo(HaveOccurred()) - err = sess.sendPacket() - Expect(err).NotTo(HaveOccurred()) - buf := &bytes.Buffer{} - (&wire.MaxStreamDataFrame{ - StreamID: 5, - ByteOffset: 0x1000, - }).Write(buf, sess.version) - Expect(mconn.written).To(HaveLen(2)) - Expect(mconn.written).To(Receive(ContainSubstring(string(buf.Bytes())))) - Expect(mconn.written).To(Receive(ContainSubstring(string(buf.Bytes())))) - }) - It("sends public reset", func() { err := sess.sendPublicReset(1) Expect(err).NotTo(HaveOccurred())