RussellLuo/timingwheel

bucket flush的时候,为什么可能存在需要restart的timer呢?

Closed this issue · 1 comments

在 func (tw *TimingWheel) add(t *Timer) bool 这个方法里,timer已经找到了对应的bucket,也就是说bucket到期后,bucket上的timer也都到期了需要处理。为什么flush的时候需要考虑timer的restart呢?

我懂了。flush只是把timer从bucket上移除,restart的时候检测到timer过期就会直接运行对应的func了