ignore duplicate ACK and out-of-order ACK errors in Session

This commit is contained in:
Marten Seemann
2016-04-26 10:48:14 +07:00
parent b4fae00880
commit c8f48fe5bc
3 changed files with 6 additions and 5 deletions

View File

@@ -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)

View File

@@ -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)))
})