immediately remove reset tokens when retiring a connection ID

This commit is contained in:
Marten Seemann
2020-11-22 10:18:16 +07:00
parent ed1956f5a9
commit 05066ae877
7 changed files with 8 additions and 52 deletions

View File

@@ -30,7 +30,6 @@ type connIDManager struct {
addStatelessResetToken func(protocol.StatelessResetToken)
removeStatelessResetToken func(protocol.StatelessResetToken)
retireStatelessResetToken func(protocol.StatelessResetToken)
queueControlFrame func(wire.Frame)
}
@@ -38,7 +37,6 @@ func newConnIDManager(
initialDestConnID protocol.ConnectionID,
addStatelessResetToken func(protocol.StatelessResetToken),
removeStatelessResetToken func(protocol.StatelessResetToken),
retireStatelessResetToken func(protocol.StatelessResetToken),
queueControlFrame func(wire.Frame),
) *connIDManager {
b := make([]byte, 8)
@@ -48,7 +46,6 @@ func newConnIDManager(
activeConnectionID: initialDestConnID,
addStatelessResetToken: addStatelessResetToken,
removeStatelessResetToken: removeStatelessResetToken,
retireStatelessResetToken: retireStatelessResetToken,
queueControlFrame: queueControlFrame,
rand: mrand.New(mrand.NewSource(seed)),
}
@@ -150,7 +147,7 @@ func (h *connIDManager) updateConnectionID() {
})
h.highestRetired = utils.MaxUint64(h.highestRetired, h.activeSequenceNumber)
if h.activeStatelessResetToken != nil {
h.retireStatelessResetToken(*h.activeStatelessResetToken)
h.removeStatelessResetToken(*h.activeStatelessResetToken)
}
front := h.queue.Remove(h.queue.Front())