forked from quic-go/quic-go
remove periodic logging functionality from packet handler map (#5110)
This commit is contained in:
@@ -46,7 +46,6 @@ type packetHandlerMap struct {
|
||||
resetTokens map[protocol.StatelessResetToken] /* stateless reset token */ packetHandler
|
||||
|
||||
closed bool
|
||||
closeChan chan struct{}
|
||||
|
||||
enqueueClosePacket func(closePacket)
|
||||
|
||||
@@ -58,44 +57,13 @@ type packetHandlerMap struct {
|
||||
var _ packetHandlerManager = &packetHandlerMap{}
|
||||
|
||||
func newPacketHandlerMap(enqueueClosePacket func(closePacket), logger utils.Logger) *packetHandlerMap {
|
||||
h := &packetHandlerMap{
|
||||
closeChan: make(chan struct{}),
|
||||
return &packetHandlerMap{
|
||||
handlers: make(map[protocol.ConnectionID]packetHandler),
|
||||
resetTokens: make(map[protocol.StatelessResetToken]packetHandler),
|
||||
deleteRetiredConnsAfter: protocol.RetiredConnectionIDDeleteTimeout,
|
||||
enqueueClosePacket: enqueueClosePacket,
|
||||
logger: logger,
|
||||
}
|
||||
if h.logger.Debug() {
|
||||
go h.logUsage()
|
||||
}
|
||||
return h
|
||||
}
|
||||
|
||||
func (h *packetHandlerMap) logUsage() {
|
||||
ticker := time.NewTicker(2 * time.Second)
|
||||
var printedZero bool
|
||||
for {
|
||||
select {
|
||||
case <-h.closeChan:
|
||||
return
|
||||
case <-ticker.C:
|
||||
}
|
||||
|
||||
h.mutex.Lock()
|
||||
numHandlers := len(h.handlers)
|
||||
numTokens := len(h.resetTokens)
|
||||
h.mutex.Unlock()
|
||||
// If the number tracked handlers and tokens is zero, only print it a single time.
|
||||
hasZero := numHandlers == 0 && numTokens == 0
|
||||
if !hasZero || (hasZero && !printedZero) {
|
||||
h.logger.Debugf("Tracking %d connection IDs and %d reset tokens.\n", numHandlers, numTokens)
|
||||
printedZero = false
|
||||
if hasZero {
|
||||
printedZero = true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func (h *packetHandlerMap) Get(id protocol.ConnectionID) (packetHandler, bool) {
|
||||
@@ -206,14 +174,11 @@ func (h *packetHandlerMap) GetByResetToken(token protocol.StatelessResetToken) (
|
||||
|
||||
func (h *packetHandlerMap) Close(e error) {
|
||||
h.mutex.Lock()
|
||||
|
||||
if h.closed {
|
||||
h.mutex.Unlock()
|
||||
return
|
||||
}
|
||||
|
||||
close(h.closeChan)
|
||||
|
||||
var wg sync.WaitGroup
|
||||
for _, handler := range h.handlers {
|
||||
wg.Add(1)
|
||||
|
||||
Reference in New Issue
Block a user