次に示す adf
名前空間にあらかじめ定義されたオブジェクト クラスは、パケット ストリームの接続を定義するために使用されます。
template <int nway> class pktsplit { ... }
template <int nway> class pktmerge { ... }
スコープ
タイプ pktsplit<n>
および pktmerge<n>
のオブジェクトは、ユーザー定義のグラフ タイプ (つまり、graph
から継承するクラス内) のメンバー変数として宣言できます。テンプレート パラメーター n
は、分割またはマージの程度を示したコンパイル時定数 (正の整数) です。これらのオブジェクトは、入力接続と出力接続を備えたグラフの通常ノードのように動作しますが、明確なパケット配線にのみ使用されます。
メンバー関数
static pktsplit<nway> & create();
static pktmerge<nway> & create();
これらのクラスのスタティック メソッド create は、kernel
create メソッドと同じように機能します。分割またはマージの程度は、テンプレート変数宣言で既に指定されています。
メンバー変数
std::vector<port<input>> in;
この変数で、ノードの論理入力を指定します。pktsplit
ノードの入力は 1 つです。pktmerge
ノードの場合、i 番目のインデックスが i 番目の入力ポートを選択します。
std::vector<port<output>> out;
この変数で、ノードの論理出力を指定します。pktmerge
ノードの出力は 1 つです。pktsplit
ノードの場合、i 番目のインデックスが i 番目の出力ポートを選択します。