Omnet++ 静脉中的MAC层

Omnet++ 静脉中的MAC层,omnet++,veins,Omnet++,Veins,我正在使用omnet++-5.4.1、VELINES-4.7.1和sumo-0.25.0来模拟车架变速器 关于WAVE中mac层中EDCA的行为,据我所知,发送的等待时间可以通过以下计算得到 等待时间=AIFS[AC]+退避 AIFS[AC]=SIFS+AIFSN[AC]*槽长 但是,在Mac 1609_4.cc的startContent函数中,它的编写如下 if (idleTime > possibleNextEvent) { DBG_MAC << "Could ha

我正在使用omnet++-5.4.1、VELINES-4.7.1和sumo-0.25.0来模拟车架变速器

关于WAVE中mac层中EDCA的行为,据我所知,发送的等待时间可以通过以下计算得到

等待时间=AIFS[AC]+退避
AIFS[AC]=SIFS+AIFSN[AC]*槽长

但是,在Mac 1609_4.cc的startContent函数中,它的编写如下

if (idleTime > possibleNextEvent) {
    DBG_MAC << "Could have already send if we had it earlier" << std::endl;
    //we could have already sent. round up to next boundary
    simtime_t base = idleSince + DIFS;
    possibleNextEvent =  simTime() - simtime_t().setRaw((simTime() - base).raw() % SLOTLENGTH_11P.raw()) + SLOTLENGTH_11P;
}
if(idleTime>possibleNextEvent){

DBG_MAC你的问题到底是什么?如果Velse中的实现是正确的?如果你的理解是正确的?对不起,我可能误解了。我在TraCIDemo 11p.cc中调用了sendDown函数。我认为,在调用sendDown函数之后,它等待AIFS和退避时间,然后发送一个帧。但是,在Velse中,在调用endDown函数,通过反向计算信道是否离开该点,考虑AIF和退避时间。