[Netty4] [網状ハンドラ]網状アイドルハンドラ・プロセス

  1. 初期レコードのアイドル時間、およびタスクの遅延を開始し、アイドル時間の遅延タスクの遅延時間はio.netty.handler.timeout.IdleStateHandler.AllIdleTimeoutTaskです
  2. channelReadCompleteはlastReadTimeを更新し、lastWriteTime詳細io.netty.handler.timeout.IdleStateHandler.writeListenerを参照してください、リスナーが更新され、操作が戻るChannelFutureインスタンス上operationComplete書き込み操作を聴取しているハング
  3. AllIdleTimeoutTaskタスク・ロジックは、小切手で行わlastReadTime、lastWriteTime大きな値をとり、それらを引くnextDelayを取る、我々は次のタスクが延期されるように得ることができるように、よります。

例えば、スタート10:00,5分のアイドル時間タスクをチェック遅延開始で計算した場合、読み出しと書き込みが、その後10時05分に、10時04分に発生した場合、それは、10:05(5分の遅延)でチェックします4分後の午前十時09分。

タイムアウトの読み書きは、このイベント、同様のチェック機構に基づいて行われます。
そして、未使用netty4でHashedWheelTimerではなく、オンラインNioEventLoopは、スピンループのトリガーを完了しました。スピンループでio.netty.util.concurrent.AbstractScheduledEventExecutor.scheduledTaskQueueは、それが実行された場合は、その期限は、少ない電流の時間よりもご覧PEEKから(スケジュールされたタスクが到着早いです)前に出になります。
HashedWheelTimerのアイドルはnetty3での検出のために使用されています。

おすすめ

転載: www.cnblogs.com/simoncook/p/11980435.html