メイン Miscellaneous: Architecture & Generic Development Questions コンフィグファイルからのノードタイプ読み込み | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
the_thirdman | 投稿日時: 2006/4/13 0:04 |
新米 登録日: 2005/9/21 居住地: 投稿: 10 |
コンフィグファイルからのノードタイプ読み込み ノードIDによってノードのタイプを分類し、パケットを受け取った際に各ノードタイプに応じた処理をするようにaodv.cppを改良しています。
この際、ノードタイプを分類するためにif文の条件にノードIDを使用し、aodv.cpp内でノードタイプを取得する関数を以下のように作成しました。 /*********************************** ノードタイプ取得関数 ************************************/ char* AodvGetNodeType(NodeAddress nodeId) { char* NodeType; if ((1<= nodeId && nodeId <=20 )) { NodeType = "A"; } else if((21<= nodeId && nodeId <=200)) { NodeType = "B"; } ・・・・・・・・・・・・・ else NodeType = NULL; return(NodeType); } このような方法でノードタイプを取得する関数を作成したのですが、 上の例で言いますと、例えばノードタイプAであるノードが21個以上の環境でシミュレーションしたいといった場合にはこの関数内の数値を書き換え、またコンパイルし直すといった作業が必要となってしまうのでどうにか他の方法がないかと考えています。 そこで、いちいちコンパイルし直す必要がないように、例えば各ノードタイプごとの下限と上限をシナリオのconfigファイル内で指定し、それを読み込むことで実現できないかなと思っているのですが、このようなことは可能でしょうか? この辺をこういじればいいのではないかといった程度のアドバイスでもかまわないので回答のほうよろしくお願いします。 |
penguish | 投稿日時: 2006/4/13 17:48 |
常連 登録日: 2005/4/8 居住地: 投稿: 45 |
Re: コンフィグファイルからのノードタイプ読み込み aodv.cpp で AODV の設定を config ファイルから読み込む
関数があります。 AodvInitializeConfigurableParameters これを参考にしたら如何でしょう。 例えば AODV_TYPE_A 1 2 # 1〜2 は type a AODV_TYPE_B 3 10 # 3〜10 は type b と言った具合にconfigファイルに書いておいて、IO_READ 系の APIを使ってAodvInitializeConfigurableParametersで読み込み AodvData 構造体に設定しておく。 あとは 必要な箇所で AodvData に設定したフィールドを参照 すればよいと思いますよ。もちろん AodvData構造体の変更も 必要ですが。どうでしょう? |
mast | 投稿日時: 2006/4/14 2:15 |
一人前 登録日: 2005/4/7 居住地: 投稿: 93 |
Re: コンフィグファイルからのノードタイプ読み込み こんにちは。
IGMPの初期化コード(network/igmp.cpp内のIgmpInit関数)に以下のような箇所があります。
これは、IgmpIsRouter関数を呼び出してその返り値に応じて、当該ノードのIGMPノードタイプを設定しているのですが、これを真似してみるというのもアリかもしれません。 というのは、IgmpIsRouter関数内では、設定ファイルのIGMP-ROUTER-LISTというパラメータを処理しているのですが、その処理コードを見てみると、 IGMP-ROUTER-LIST {1, 3, 10 thru 20} というような指定の仕方ができるようになっているので、このやり方を真似して、 configファイルで AODV_TYPE_A_LIST {1, 3, 10 thru 20} AODV_TYPE_B_LIST {2, 4 thru 9, 21 thru 30} といった設定ができるようにしておけば、使いやすいのではないかと思われます。 GUIの設定は、gui/settings/choices.xmlで、以下のような感じでAODVのvariableを追加しておけばよさそうに思います。 (これもIGMP-ROUTER-LISTの真似ですが…)
|
mast | 投稿日時: 2006/4/14 2:31 |
一人前 登録日: 2005/4/7 居住地: 投稿: 93 |
Re: コンフィグファイルからのノードタイプ読み込み 先の投稿は、少し焦点がぼやけてしまった気がしたので、、一言で書き直します。
IgmpIsRouter関数が参考になるかと思います。 |
the_thirdman | 投稿日時: 2006/4/14 17:03 |
新米 登録日: 2005/9/21 居住地: 投稿: 10 |
Re: コンフィグファイルからのノードタイプ読み込み >penguishさん, mastさん
返信が遅れてしまい申し訳ございません。 詳細な回答のほうありがとうございます。 とても参考になりました お二人の意見を参考にさせていただき、 さっそく改造に着手したいと思います。 また何かありましたら質問させていただくかと 思いますが、よろしくお願いします。 このたびは丁寧な対応本当にありがとうございました |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |