netty 心跳 handler 的时间处理
用户指定的超时时间 readerIdleTimeNanos
上次操作时间 lastReadTime
nextDelay = readerIdleTimeNanos - (currTime - lastReadTime)
可以看出 nextDelay 表示的是离超时事件的发生还有多久
如果 nextDelay <= 0 说明已经发生超时
这时便会产生相应事件传递给下一个handler
若 nextDelay > 0 则还未发生超时
那么便提交一个延时为nextDelay的任务
待nextDelay时间过后再考察是否超时
(若nextDelay时间段内无操作,则下次执行便会产生超时事件,若期间发生了操作,则会重新计算nextDelay,重新判断)

浙公网安备 33010602011771号