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

パスワード:


パスワード紛失

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

2024/03/21より397/1411
人気モジュール
No.1: フォーラム 20
No.2: QualNet概要 1
日曜日からの合計
人気Browser&OS
No.1:巡回ロボット19

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

日曜日からの合計
メイン
   Network Layer Protocol Implementation & Model Development
     Dequeueについて
投稿するにはまず登録を

題名 投稿者 日時
   Dequeueについて kazuki 2011/12/7 20:17
     Re: Dequeueについて chackn 2011/12/8 13:39
     » Re: Dequeueについて kazuki 2011/12/8 21:45
フラット表示 前のトピック | 次のトピック
投稿者 スレッド
kazuki
投稿日時: 2011/12/8 21:45
新米
登録日: 2011/3/24
居住地:
投稿: 8
Re: Dequeueについて
返信有難うございます.

はい,802.11を使用しています.
あと変わっていることといえばプロミスキャスモードを使っていること
ぐらいで本当にシンプルなシナリオを試しています.

いじったのはnetwork_ip.cpp内の
NetworkIpOutputQueueDequeuePacketForPrioroty()で
デキューが行われる前に


BOOL dequeueFlag =FALSE;
IpHeaderType *sendHesder = (IpHeaderType *) scheduler->queueData->queue->packetArray[scheduler->queueData->queue->headIndex].msg->packet;
if(sendHeader->code == 1){
dequeueFlag = TRUE;
}
else if(sendHeader->code == 0){
dequeueFalg = FALSE;
if(timeFlag[node->nodeId] == 1){
mytime[node->nodeId] = getSimTime(node);
timeFalg[node->nodeId] = 0;
}
if(getSimTime(node) - mytime[node->nodeId] >= 100000000){
dequeueFlag = TRUE;
timeFlag[node->nodeId] = 1;
}
}

if(!dequeueFlag){
return FALSE;
}


を差し込んでいます.
コーディングが下手なため大変恥ずかしいのですが,
dequeueFlagは最終判断用
mytime[]は各ノードのデキューしようとした時の時間保存用
timeFlag[]は各ノードのmytimeの代入を操作,初期値は1
なっています.
ちなみにipヘッダのcodeは自分で追加したものでこれを元に特定
パケットを見分けています.

自分でも処理を追ってみたのですが,node.cppの
NODE_ProcessEvent()で処理が終了してしまっているようです.


長々を申し訳ありませんが,よろしくお願い致します.

test.zip
フラット表示 前のトピック | 次のトピック
Copyright c KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.
XOOPS Cube PROJECT