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

パスワード:


パスワード紛失

新規登録
検索
メインメニュー
アクセスカウンター
2024/05/06:2/2
2024/05/05:21/23

2024/03/07より342/1375
人気モジュール
No.1: フォーラム 22
No.2: QualNet概要 2
日曜日からの合計
人気Browser&OS
No.1:巡回ロボット20
No.2:Linux2
No.3:Unknown OS1

No.1:どっかの巡回ロボット20
No.2:Safari2
No.3:Unknown Browser1

日曜日からの合計
メイン
   Application Layer Protocol Implementation & Model Development
     タイマー、スケジュール、トリガーについて。
投稿するにはまず登録を

題名 投稿者 日時
   タイマー、スケジュール、トリガーについて。 masa 2006/11/18 15:51
     Re: タイマー、スケジュール、トリガーについて。 masa 2006/11/20 8:06
       Re: タイマー、スケジュール、トリガーについて。 gaku 2006/11/20 10:03
       Re: タイマー、スケジュール、トリガーについて。 gaku 2006/11/20 10:28
     » Re: タイマー、スケジュール、トリガーについて。 kabocha 2006/11/20 10:36
         Re: タイマー、スケジュール、トリガーについて。 masa 2006/11/20 20:02
フラット表示 前のトピック | 次のトピック
投稿者 スレッド
kabocha
投稿日時: 2006/11/20 10:36
常連
登録日: 2006/9/8
居住地:
投稿: 43
Re: タイマー、スケジュール、トリガーについて。
引用:

masaさんは書きました:
スケジュールを使う際、send_message で送るのはスケジュール情報だけになると思います。そのため、



ここで、すでに誤解されているような気がします。

Message_Send でシミュレーションエンジンに対して送るのは確かにスケジュール情報ですが、これにタイマーイベントとパケットイベント(パケットそのもの)の2種類があります。で、いずれもMessageデータ構造を
送ることで実現します。

Message_ReturnPacket を使うのはパケットイベントを受け取った際に、パケットの中身をMessageデータ構造から受け取る場合です。つまりだれかが作ったパケットを参照したい場合に使います。

当然、自分でパケットを送る際にはMessageデータ構造に対して、Packetデータを設定してあげる必要があります。最初にパケットを作る人は当然データを作成しなければなりません。

APP_UdpSendNewHeaderVirtualDataWithPriority

はデータを引数で受け取ったあと、

Message* APP_UdpCreateNewHeaderVirtualDataWithPriority(..省略)

というAPIを呼び出しています。これで、UDPヘッダーがついたパケットをもつMessageデータ構造が出来上がるわけです。

通常、自分でタイマーを仕掛けてパケットを生成したいなら、パケットハンドラの処理で、以下のようにするのが通常の手順だと思います。


     switch (msg->eventType)
     {
         case MSG_APP_TimerExpired:
         {
             AppTimer *timer;
 
            timer = (AppTimer *) MESSAGE_ReturnInfo(msg);
 
             switch (timer->type)
             {
                 case APP_TIMER_SEND_PKT:
                  
        ここで新しいパケットのデータを作成
        APP_UdpSendNewHeaderVirtualDataWithPriority
                を呼び出すと、中でパケットメッセージを勝手に
        作ってくれる


このあたりのことは、ver3.9.5 のプログラマーズガイド 3.3 章あたりを熟読すれば理解できると思いますがいかがですか?
フラット表示 前のトピック | 次のトピック
Copyright c KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.
XOOPS Cube PROJECT