- 追加された行はこのように表示されます。
- 削除された行は
このように表示されます。
!!!MCBR
マルチキャスト向けCBR
!!使用方法
*クライアントノードを設定
*アドレスグループの設定(マルチキャストアドレスは現状動作できず、ブロードキャストアドレスは動作確認)
!!動作フロー
[送信]
*AppLayerMCbrClient
*APP_UdpSendNewDataWithPriority
*・・・
----------------------------------------------
*・・・
*NetworkIpReceivePacketFromMacLayer
*NetworkIpReceivePacket
*SendToUDP
*APP_ProcessEvent
*AppLayerMCbrServer
[受信]
!!改造
!Flow
[データ受信]
ACK
-自分宛
--getACK=true
Data
-fowardBufに格納
[データ送信]
fowardBuf!=""
-send fowardBuf
transmitBuf!=""
-send transmitBuf
-send transmitBuf()
-getACK=false
else
-send ""
!Foward
Message
,名称,変数名,機能
,データバッファ,data,文字列のやり取り用
McbrClient
,名称,変数名,機能
,転送用バッファ,fowardBuf,転送用文字列の格納用
,送信用バッファ,transmitBuf,送信用文字列
,送信許可フラグ,enableTransmit,trueなら送信
!ACK
,名称,変数名,機能
,ACK受信フラグ,getACK,送信時にfalseに、ACK受信済みでtrueに
!Control
,名称,変数名,機能
,モードフラグ,isControlMode,制御用ならtrue
!TODO
*Application level ACK
*Application level Backoff
*save payload???
*4.5?
!新規
,file,position,name,purpose
,app_mcbr.cpp,top of function,AppLayerMCbrSendPacket,pack
!追加
,file,position,name,purpose
,app_mcbr.cpp,AppLayerMCbrServer,AppLayerMCbrSendPacket,reply application level ack
,app_util.cpp,,APP_UdpSendNewDataWithPriority,add ack option
!置き換え
,file,position,name,new
,app_mcbr.cpp,パケット送信部分,AppLayerMCbrClient,AppLayerMCbrSendPacket