2つのNettyパイプラインを1つに連結する方法を理解しようとしています。それは十分に簡単なはずです。何かのようなもの:
List<String> namesOfSecond = second.getNames();
for (String name : namesOfSecond) {
ChannelHandler handler = second.get(name);
first.addLast("Second-" + name, handler);
}
ただし、getNames()のjavadocには、「ハンドラー名のリストが返されます」とだけ書かれています。特定の順序であっても、リストがどのような順序であるかはわかりません。上記のコードが正しく機能するには、名前のリストが、パイプライン内のそれらの名前に対応するハンドラーのリストの順序である必要があります。それは...ですか?保証されていますか?
toMap()関数もあります。この関数は、「このパイプラインを、キーがハンドラー名で、値がハンドラーである順序付けられたマップに変換します」。マップが順序付けられていることを明示的に示しているので、それは少し良いように思えます。ただし、注文内容は記載されていません。
これらの関数は、「明白な」順序と「正しい」順序、つまりパイプラインの順序(たとえば、名前で字句的に順序付けするのではなく)で物事を返すと推測していますが、ドキュメントではこれを明示していないので、確認したい。誰か知っている?
前もって感謝します。