forked from quic-go/quic-go
ignore duplicate ACK and out-of-order ACK errors in Session
This commit is contained in:
@@ -8,8 +8,9 @@ import (
|
||||
)
|
||||
|
||||
var (
|
||||
// ErrDuplicateOrOutOfOrderAck occurs when a duplicate or an out-of-order ACK is received
|
||||
ErrDuplicateOrOutOfOrderAck = errors.New("SentPacketHandler: Duplicate or out-of-order ACK")
|
||||
errAckForUnsentPacket = errors.New("SentPacketHandler: Received ACK for an unsent package")
|
||||
errDuplicateOrOutOfOrderAck = errors.New("SentPacketHandler: Duplicate or out-of-order ACK")
|
||||
errEntropy = errors.New("SentPacketHandler: Wrong entropy")
|
||||
errMapAccess = errors.New("SentPacketHandler: Packet does not exist in PacketHistory")
|
||||
retransmissionThreshold = uint8(3)
|
||||
@@ -119,7 +120,7 @@ func (h *sentPacketHandler) ReceivedAck(ackFrame *frames.AckFrame) error {
|
||||
}
|
||||
|
||||
if ackFrame.LargestObserved <= h.LargestObserved { // duplicate or out-of-order AckFrame
|
||||
return errDuplicateOrOutOfOrderAck
|
||||
return ErrDuplicateOrOutOfOrderAck
|
||||
}
|
||||
|
||||
expectedEntropy, err := h.calculateExpectedEntropy(ackFrame)
|
||||
|
||||
@@ -249,7 +249,7 @@ var _ = Describe("SentPacketHandler", func() {
|
||||
Expect(err).ToNot(HaveOccurred())
|
||||
err = handler.ReceivedAck(&ack)
|
||||
Expect(err).To(HaveOccurred())
|
||||
Expect(err).To(Equal(errDuplicateOrOutOfOrderAck))
|
||||
Expect(err).To(Equal(ErrDuplicateOrOutOfOrderAck))
|
||||
})
|
||||
|
||||
It("rejects out of order ACKs", func() {
|
||||
@@ -262,7 +262,7 @@ var _ = Describe("SentPacketHandler", func() {
|
||||
ack.LargestObserved--
|
||||
err = handler.ReceivedAck(&ack)
|
||||
Expect(err).To(HaveOccurred())
|
||||
Expect(err).To(Equal(errDuplicateOrOutOfOrderAck))
|
||||
Expect(err).To(Equal(ErrDuplicateOrOutOfOrderAck))
|
||||
Expect(handler.LargestObserved).To(Equal(protocol.PacketNumber(largestObserved)))
|
||||
})
|
||||
|
||||
|
||||
Reference in New Issue
Block a user