diff --git a/ackhandler/sent_packet_handler.go b/ackhandler/sent_packet_handler.go index c587ad6fd..ffb089fa5 100644 --- a/ackhandler/sent_packet_handler.go +++ b/ackhandler/sent_packet_handler.go @@ -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) diff --git a/ackhandler/sent_packet_handler_test.go b/ackhandler/sent_packet_handler_test.go index c3350d801..d67691ec9 100644 --- a/ackhandler/sent_packet_handler_test.go +++ b/ackhandler/sent_packet_handler_test.go @@ -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))) }) diff --git a/session.go b/session.go index 944a5c5c1..9be4324c1 100644 --- a/session.go +++ b/session.go @@ -75,7 +75,7 @@ func (s *Session) Run() { case <-time.After(sendTimeout): err = s.sendPacket() } - if err != nil { + if err != nil && err != ackhandler.ErrDuplicateOrOutOfOrderAck { fmt.Printf("Error in session: %s\n", err.Error()) }