forked from quic-go/quic-go
@@ -244,6 +244,10 @@ func (s *Session) handlePacketImpl(remoteAddr interface{}, hdr *publicHeader, da
|
||||
if err == ackhandlerlegacy.ErrDuplicatePacket {
|
||||
return nil
|
||||
}
|
||||
// ignore packets with packet numbers smaller than the LeastUnacked of a StopWaiting
|
||||
if err == ackhandlerlegacy.ErrPacketSmallerThanLastStopWaiting {
|
||||
return nil
|
||||
}
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
|
||||
@@ -434,6 +434,14 @@ var _ = Describe("Session", func() {
|
||||
err = session.handlePacketImpl(nil, hdr, nil)
|
||||
Expect(err).ToNot(HaveOccurred())
|
||||
})
|
||||
|
||||
It("ignores packets smaller than the highest LeastUnacked of a StopWaiting", func() {
|
||||
err := session.receivedPacketHandler.ReceivedStopWaiting(&frames.StopWaitingFrame{LeastUnacked: 10})
|
||||
Expect(err).ToNot(HaveOccurred())
|
||||
hdr.PacketNumber = 5
|
||||
err = session.handlePacketImpl(nil, hdr, nil)
|
||||
Expect(err).ToNot(HaveOccurred())
|
||||
})
|
||||
})
|
||||
|
||||
Context("sending packets", func() {
|
||||
|
||||
Reference in New Issue
Block a user