Japan QualNet Community Forums Japan QualNet Community Forums
Welcome Guest 
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
検索
メインメニュー
アクセスカウンター
2024/05/08:20/23
2024/05/07:22/23

2024/03/09より367/1382
人気モジュール
No.1: フォーラム 79
No.2: QualNet概要 6
日曜日からの合計
人気Browser&OS
No.1:巡回ロボット71
No.2:Linux3
No.3:Unknown OS1

No.1:どっかの巡回ロボット67
No.2:Safari3
No.3:Baidu巡回ロボット3

日曜日からの合計
メイン
   Routing Settings
     AODV-HELLO-INTERVALの設定について
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
koichi
投稿日時: 2008/11/10 19:07
常連
登録日: 2007/10/24
居住地:
投稿: 52
AODV-HELLO-INTERVALの設定について
AODV-HELLO-INTERVALの値を変更したいので
configファイルにて設定しましたが
上手く機能しませんでした。

そこで
routing_aodv.cppの関数AodvInitializeConfigurableParameters内

IO_ReadTime(
nodeId,
&interfaceAddress,
nodeInput,
"AODV-HELLO-INTERVAL",
&wasFound,
&aodv->helloInterval);

if (!wasFound)
{ 略
}
else
{ 略
}
の後ろに
printf("helloInterval = %d\n", aodv->helloInterval);
という文を加え、コンパイル→実行したところ

#AODV-HELLO-INTERVAL 1000ms
では
helloInterval = 1000000000
と出力されますが

AODV-HELLO-INTERVAL 1000ms
では
helloInterval = -727379968
となり上手く読み込めていないことが分かりました。

configファイルの書き方にどこか問題があるのでしょうか?
ipoten
投稿日時: 2008/11/10 19:34
一人前
登録日: 2005/7/12
居住地:
投稿: 102
Re: AODV-HELLO-INTERVALの設定について
こんにちは
引用:
#AODV-HELLO-INTERVAL 1000ms
では
helloInterval = 1000000000
と出力されます
これはたぶんconfigからは読めなくて、デフォルト値
#define AODV_DEFAULT_HELLO_INTERVAL            (1000 * MILLI_SECOND)
が設定されている。

引用:
AODV-HELLO-INTERVAL 1000ms
では
helloInterval = -727379968
となり上手く読み込めていない
たしかclocktypeの単位は大文字"MS"だったような・・・。
試してみてください。
penguish
投稿日時: 2008/11/12 9:33
常連
登録日: 2005/4/8
居住地:
投稿: 45
Re: AODV-HELLO-INTERVALの設定について
引用:

koichiさんは書きました:

printf("helloInterval = %d\n", aodv->helloInterval);
という文を加え、コンパイル→実行したところ


ulong int (long long int?) を int で出力してるんじゃ..
時刻を出力するAPIかなにかあったような.. char* に変換してたかなぁ
うろ覚えですが。
koichi
投稿日時: 2008/11/14 17:53
常連
登録日: 2007/10/24
居住地:
投稿: 52
Re: AODV-HELLO-INTERVALの設定について
まさにそれが原因でした。
全く気付きませんでした。
大文字"MS"で解決しました。
ありがとうございます。
koichi
投稿日時: 2008/11/14 18:00
常連
登録日: 2007/10/24
居住地:
投稿: 52
Re: AODV-HELLO-INTERVALの設定について
引用:

penguishさんは書きました:

ulong int (long long int?) を int で出力してるんじゃ..
時刻を出力するAPIかなにかあったような.. char* に変換してたかなぁ
うろ覚えですが。


僕も少し引っかかりながらもDEFAULT設定のとき正しい値が
出るので勘違いしていたようです。

TIME_PrintClockInSecondで変換するのが正しいやり方ですね。

ご指摘ありがとうございました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ
Copyright c KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.
XOOPS Cube PROJECT