mirror of
https://github.com/netbirdio/gvisor.git
synced 2026-05-22 17:12:49 -07:00
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:
committed by
gVisor bot
parent
5f7bf31526
commit
49f783fb65
@@ -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()
|
||||
|
||||
@@ -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()
|
||||
}
|
||||
|
||||
@@ -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()
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user