メイン Application Layer Protocol Implementation & Model Development パケット送信間隔の変更 | 投稿するにはまず登録を |
題名 | 投稿者 | 日時 |
---|---|---|
パケット送信間隔の変更 | Shinya | 2014/4/11 13:05 |
Re: パケット送信間隔の変更 | hiro | 2014/4/11 13:17 |
Re: パケット送信間隔の変更 | Shinya | 2014/4/12 13:00 |
» Re: パケット送信間隔の変更 | hiro | 2014/4/12 14:08 |
Re: パケット送信間隔の変更 | Shinya | 2014/4/14 12:04 |
フラット表示 | 前のトピック | 次のトピック |
投稿者 | スレッド |
---|---|
hiro | 投稿日時: 2014/4/12 14:08 |
長老 登録日: 2005/7/16 居住地: 投稿: 452 |
Re: パケット送信間隔の変更 使用するApplocation依存になってしまいますが可能です。
例えばCBR場合、以下の2カ所でパケット送信を仕込みます。 関数 AppCbrClientInit の最後付近。 startTimeになったら最初のパケットを処理する。 MESSAGE_Send(node, timerMsg, startTime); 関数 AppCbrClientScheduleNextPkt の最後付近。 clientPtr->intervalにてパケットを処理する。 MESSAGE_Send(node, timerMsg, clientPtr->interval); 関数 AppLayerCbrClient の先頭付近。 実際に指定時間が経過してパケット送信する。 case MSG_APP_TimerExpired: のブロック。 という事で、 startTimeやclientPtr->intervalの値をそのまま使用せず、 自分で書き換えれば良いことになります。 めんどくさいのは、ルーティング処理部分からApplication処理部分へ 情報を伝達する処理です。 Node構造体に情報を追加して、自分自身の優先順位を管理して Application処理部から参照することになると思います。 それから、基本的に1サイクル遅れることも気にしなければなりません。 Application処理では今からxx秒後に実際のパケットを出す処理なので、 xx秒が経過する前に優先順位が変更になったらどうするのか、などの 色々と詳細処理を考える必要があります。 |
フラット表示 | 前のトピック | 次のトピック |