Rename HandleNDupAcks in TCP.

Rename HandleNDupAcks() to HandleLossDetected() as it will enter this when
is detected after:
- reorder window expires and TLP (in case of RACK)
- dupAckCount >= 3

PiperOrigin-RevId: 355237858
This commit is contained in:
Nayana Bidari
2021-02-02 13:21:40 -08:00
committed by gVisor bot
parent 5f7bf31526
commit 49f783fb65
4 changed files with 12 additions and 11 deletions
+2 -2
View File
@@ -178,8 +178,8 @@ func (c *cubicState) getCwnd(packetsAcked, sndCwnd int, srtt time.Duration) int
return int(cwnd)
}
// HandleNDupAcks implements congestionControl.HandleNDupAcks.
func (c *cubicState) HandleNDupAcks() {
// HandleLossDetected implements congestionControl.HandleLossDetected.
func (c *cubicState) HandleLossDetected() {
// See: https://tools.ietf.org/html/rfc8312#section-4.5
c.numCongestionEvents++
c.t = time.Now()
+1 -1
View File
@@ -301,7 +301,7 @@ func (s *sender) detectTLPRecovery(ack seqnum.Value, rcvdSeg *segment) {
// Step 2. Either the original packet or the retransmission (in the
// form of a probe) was lost. Invoke a congestion control response
// equivalent to fast recovery.
s.cc.HandleNDupAcks()
s.cc.HandleLossDetected()
s.enterRecovery()
s.leaveRecovery()
}
+4 -4
View File
@@ -79,10 +79,10 @@ func (r *renoState) Update(packetsAcked int) {
r.updateCongestionAvoidance(packetsAcked)
}
// HandleNDupAcks implements congestionControl.HandleNDupAcks.
func (r *renoState) HandleNDupAcks() {
// A retransmit was triggered due to nDupAckThreshold
// being hit. Reduce our slow start threshold.
// HandleLossDetected implements congestionControl.HandleLossDetected.
func (r *renoState) HandleLossDetected() {
// A retransmit was triggered due to nDupAckThreshold or when RACK
// detected loss. Reduce our slow start threshold.
r.reduceSlowStartThreshold()
}
+5 -4
View File
@@ -51,9 +51,10 @@ const (
// congestionControl is an interface that must be implemented by any supported
// congestion control algorithm.
type congestionControl interface {
// HandleNDupAcks is invoked when sender.dupAckCount >= nDupAckThreshold
// just before entering fast retransmit.
HandleNDupAcks()
// HandleLossDetected is invoked when the loss is detected by RACK or
// sender.dupAckCount >= nDupAckThreshold just before entering fast
// retransmit.
HandleLossDetected()
// HandleRTOExpired is invoked when the retransmit timer expires.
HandleRTOExpired()
@@ -1152,7 +1153,7 @@ func (s *sender) detectLoss(seg *segment) (fastRetransmit bool) {
s.dupAckCount = 0
return false
}
s.cc.HandleNDupAcks()
s.cc.HandleLossDetected()
s.enterRecovery()
s.dupAckCount = 0
return true