2017-03-16 14 views
3

アプリケーションレイヤーから静脈内のMAC_11pに一度に4つのWSMメッセージを送信しています。 WSMメッセージは、CCHチャネル上で次の順序で送信されます(優先度はかっこ内に示されています)。ECDAのWSM優先度がVeinsのMACレイヤーに実装されました

WSM(3)、WSM(3)、WSM(1)、WSM(2)EDCAでのアクセスカテゴリに基づいて

は、3が最優先です:

enum t_access_category 
{ 
    AC_BK = 0, // background 
    AC_BE = 1, // best effort 
    AC_VI = 2, // video 
    AC_VO = 3 // voice 
}; 

私は最初に優先度3(音声)のWSMがPHY_11pに送信されると予想しますが、MAC_11pレイヤーは次の順序でメッセージを送信します。 wsm(2)

am Iここに何かがない?

私はECDAクラスの 'initiateTransmit'メソッドをチェックしていました。このメソッドは、バックグラウンドから音声までキューを繰り返し処理しているようです。バックグラウンドキューのWSMメッセージが送信のために選択され、残りのWSMメッセージは内部競合を取得します。

これはバグですか?

答えて

1

はい、これはVeins 4.5のバグです。この変更は、Veins 2.0-rc2とVeins 2.0の間で導入されました。

私はコミットhttps://github.com/sommer/veins/commit/d518253dをVeinsのマスターブランチにプッシュしました。優先度の高いキューを最初に使用して、内部コリジョンの動作を解決するように変更します。

関連する問題