forked from quic-go/quic-go
don't send every MAX_{STREAM}_DATA twice
This commit is contained in:
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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())
|
||||
|
||||
Reference in New Issue
Block a user