伝播、アウトバウンドのインバウンドネッティー分析、パイプラインの異常なイベント

インバウンドイベント

  IOイベントのような、発生した場合、リンク確立、リンクシャットダウン、読み出し動作(アクティブ、読み取り、登録)が完了したイベント、イベントパイプラインの伝播及び処理を有することになります。fireXXX法へのパイプラインが命名され、その実装は、インバウンドイベントハンドラのビジネスユーザーが、同様の処理ステップにIOスレッドからの機能によって異なります。次のように:

(1)コールfireXXX HeadHandler方法に対応します。

(2)イベントに関連する論理演算を行います。

  ChannelHandlerContext.fireXXX(fireChannelRead())メソッドを呼び出す場合、イベントは、現在のノードから下に広がることになる次のChannelInBoundHandlerを見つけることです、そしてchannelXXX方法をカバーしていない場合、デフォルトはニュースになり、channelXXXメソッドを呼び出すChannelInBoundHandlerパイプラインは、最初から最後まで伝搬し、最終的にメッセージが記述channelHandlerテールノードまでメッセージ、例えばメッセージ、エンドノードニーズを処理しない上記channelXXXテールノードにメソッドを呼び出された場合、方法channelXXXテールノードを呼び出し特定のリリースでは、メモリリークを防ぎます。

  channelRead0のSimpleChannelInBoundHandlerが自動的に助ける方法はByteBufをリリース、それはchannelReadメソッドを呼び出しchannelRead0()とByteBufをリリース。

発信イベント

   ユーザーまたはコードのスレッドIO操作によって開始さは、アウトバウンドイベントと呼ばれています。追加と普及のためには、ChannelOutBoundHandlerイベントの順序が逆転されます。アウトバウンドイベントは次のChannelOutBoundHandlerを探している、この方法では、ハンドラは、最終的に頭から尾のノードノードに広がっていく呼び出します。

  概要:各パイプラインの伝播方法を呼び出すために使用する場合は、ヘッドからのノードまたはテール・ノードが普及し始め、使用ChannelHandlerContextは、現在のノードの先頭から伝播されます。

例外の伝播

  異常繁殖を区別しませんがinBoundHandlerまたはoutBoundHandlerで、例外が上に広がっています。例外ハンドラとシーケンス拡散シーケンスを相関される(同じ)を加えました。異常な通信は、デフォルトで現在のノードを取得する直接隣にあり、最終的に(exceptionCaughtテールノードに広がっていく)、テール・ノードは、最終的にこの例外を出力します、例外通知が処理されていません。我々は例外と契約を行う必要があると言うなら、それは最終的に統一された異常な処理であることを、最後のパイプラインで例外ハンドラを追加することをお勧めします。

おすすめ

転載: www.cnblogs.com/xiaobaituyun/p/10991219.html