[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[ns] mac-802_11.cc error
Hi,
in the specification 9.2.5.4 after successful RTS/CTS, the transmission
of data has to be deferred for an interval of sifs_. In my simulation
results data transmission is always deferred for an interval of difs_
void
Mac802_11::tx_resume()
{
assert(mhSend_.busy() == 0);
assert(mhDefer_.busy() == 0);
if(pktCTRL_) {
/*
* Need to send a CTS or ACK.
*/
mhDefer_.start(sifs_);
} else if(pktRTS_) {
if(mhBackoff_.busy() == 0)
//
//After successful RTS/CTS this sould be mhDefer_.start(sifs_);
//
mhDefer_.start(difs_);
} else if(pktTx_) {
if(mhBackoff_.busy() == 0)
mhDefer_.start(difs_);
} else if(callback_) {
Handler *h = callback_;
callback_ = 0;
h->handle((Event*) 0);
}
SET_TX_STATE(MAC_IDLE);
}
Changing this line only results in Data always being transmitted after
an interval of sifs_ even if there is no preceding RTS/CTS.
Could anybody please fix this?
Thanks
Stefan