Simplify RPH ack alarm to be in line with the SPH alarm

This commit is contained in:
Lucas Clemente
2017-06-21 13:58:41 +02:00
parent d3baf5282a
commit 627b762421
5 changed files with 19 additions and 40 deletions

View File

@@ -98,8 +98,6 @@ type session struct {
// it receives at most 3 handshake events: 2 when the encryption level changes, and one error
handshakeChan chan<- handshakeEvent
nextAckScheduledTime time.Time
connectionParameters handshake.ConnectionParametersManager
lastRcvdPacketNumber protocol.PacketNumber
@@ -178,7 +176,7 @@ func (s *session) setup(
s.config.MaxReceiveStreamFlowControlWindow, s.config.MaxReceiveConnectionFlowControlWindow)
s.sentPacketHandler = ackhandler.NewSentPacketHandler(s.rttStats)
s.flowControlManager = flowcontrol.NewFlowControlManager(s.connectionParameters, s.rttStats)
s.receivedPacketHandler = ackhandler.NewReceivedPacketHandler(s.ackAlarmChanged)
s.receivedPacketHandler = ackhandler.NewReceivedPacketHandler()
s.streamsMap = newStreamsMap(s.newStream, s.perspective, s.connectionParameters)
s.streamFramer = newStreamFramer(s.streamsMap, s.flowControlManager)
@@ -332,8 +330,8 @@ func (s *session) WaitUntilClosed() {
func (s *session) maybeResetTimer() {
deadline := s.lastNetworkActivityTime.Add(s.idleTimeout())
if !s.nextAckScheduledTime.IsZero() {
deadline = utils.MinTime(deadline, s.nextAckScheduledTime)
if ackAlarm := s.receivedPacketHandler.GetAlarmTimeout(); !ackAlarm.IsZero() {
deadline = utils.MinTime(deadline, ackAlarm)
}
if lossTime := s.sentPacketHandler.GetAlarmTimeout(); !lossTime.IsZero() {
deadline = utils.MinTime(deadline, lossTime)
@@ -656,7 +654,6 @@ func (s *session) sendPacket() error {
}
windowUpdateFrames = nil
ack = nil
s.nextAckScheduledTime = time.Time{}
}
}
@@ -817,11 +814,6 @@ func (s *session) getWindowUpdateFrames() []*frames.WindowUpdateFrame {
return res
}
func (s *session) ackAlarmChanged(t time.Time) {
s.nextAckScheduledTime = t
s.maybeResetTimer()
}
func (s *session) LocalAddr() net.Addr {
return s.conn.LocalAddr()
}