ConnectionlessBootstrapは、バインド時に単一のチャネルを作成します。同じチャネルが、すべてのリモート アドレスからのすべての受信メッセージに対してアップストリームで使用され、送信メッセージに対してダウンストリームで使用されます。したがって、同じパイプライン オブジェクトが使用されます。
ServerBootstrapは、接続時にリモート アドレスごとに新しいチャネルを作成するため、新しいパイプラインが作成されます。
ConnectionlessBootstrap が各リモート アドレスに対して新しいチャネルを作成することが望ましいです。これにより、ChannelTrafficShapingHandler や OrderedMemoryAwareThreadPoolExecutor などの「チャネル固有のハンドラー」を使用できるようになります。このチャネルは、同じリモート アドレスへのすべての着信/発信メッセージに使用する必要があります。
次に、リモートアドレスなしで channel.write() を使用して、tcp アプリケーションを udp に簡単に移植することもできます。
切断がないため、ReadTimeoutHandler を使用してチャネルを閉じることができます。
現在、これらのハンドラーの機能が必要な場合は、データがリモート アドレス固有のオブジェクトに格納される「パイプラインの外側」に再実装する必要があります。
どう思いますか ?
-- ロン