()
| 182 | } |
| 183 | |
| 184 | func (dp *DeliveryPipe) ackDeliveryLoop() { |
| 185 | defer dp.wg.Done() |
| 186 | dp.deliveryLoop( |
| 187 | func() *[]taggedPacket { return &dp.ackPending }, |
| 188 | func(pkt taggedPacket) { |
| 189 | if dp.ackTarget != nil { |
| 190 | // Track out-of-order acks |
| 191 | if dp.metrics != nil && dp.lastAckSeqNum != -1 { |
| 192 | if pkt.ackPk.Seq < dp.lastAckSeqNum { |
| 193 | dp.metrics.AddOOOPacket() |
| 194 | } |
| 195 | } |
| 196 | dp.lastAckSeqNum = pkt.ackPk.Seq |
| 197 | dp.ackTarget(pkt.ackPk) |
| 198 | } |
| 199 | }, |
| 200 | ) |
| 201 | } |
| 202 | |
| 203 | func (dp *DeliveryPipe) deliveryLoop( |
| 204 | getPending func() *[]taggedPacket, |
no test coverage detected