forked from quic-go/quic-go
retire the stateless reset token when the session is closed
This commit is contained in:
@@ -18,6 +18,7 @@ type connIDManager struct {
|
||||
packetsSinceLastChange uint64
|
||||
|
||||
addStatelessResetToken func([16]byte)
|
||||
removeStatelessResetToken func([16]byte)
|
||||
retireStatelessResetToken func([16]byte)
|
||||
queueControlFrame func(wire.Frame)
|
||||
}
|
||||
@@ -25,12 +26,14 @@ type connIDManager struct {
|
||||
func newConnIDManager(
|
||||
initialDestConnID protocol.ConnectionID,
|
||||
addStatelessResetToken func([16]byte),
|
||||
removeStatelessResetToken func([16]byte),
|
||||
retireStatelessResetToken func([16]byte),
|
||||
queueControlFrame func(wire.Frame),
|
||||
) *connIDManager {
|
||||
return &connIDManager{
|
||||
activeConnectionID: initialDestConnID,
|
||||
addStatelessResetToken: addStatelessResetToken,
|
||||
removeStatelessResetToken: removeStatelessResetToken,
|
||||
retireStatelessResetToken: retireStatelessResetToken,
|
||||
queueControlFrame: queueControlFrame,
|
||||
}
|
||||
@@ -114,6 +117,12 @@ func (h *connIDManager) updateConnectionID() {
|
||||
h.addStatelessResetToken(*h.activeStatelessResetToken)
|
||||
}
|
||||
|
||||
func (h *connIDManager) Close() {
|
||||
if h.activeStatelessResetToken != nil {
|
||||
h.removeStatelessResetToken(*h.activeStatelessResetToken)
|
||||
}
|
||||
}
|
||||
|
||||
// is called when the server performs a Retry
|
||||
// and when the server changes the connection ID in the first Initial sent
|
||||
func (h *connIDManager) ChangeInitialConnID(newConnID protocol.ConnectionID) {
|
||||
|
||||
Reference in New Issue
Block a user