[ns] Question about mhDefer_ inside Mac802_11::send() Mac802_11::recvRTS and Mac802_11::RecvData Mac802_11::RecvCTS ..etc

Seki Lau sekilauhk@yahoo.com.hk
Sat Jan 10 15:40:02 2004


Dear All
 I have read both 2.18 and 2.26 about the
mhDefer.start() in Mac802_11::send() and I have the
following question under following situation
 If I have a node which is in the routine
Mac802_11::send(). It is going to send a long data
frame that RTS has already been generated and put on
pktRTS_. It performs Carrier sense as instructed in
mhDefer_.start(difs+rTime). However , before it
finishs its carrier sense, there has another node
sends a short data frame(without RTS/CTS exchange) to
the first node. In my understanding on the 802.11, the
first node should stop and carrier sense.(continue the
carrier sense later on)
 However, in the ns2.26 and 2.18 mac-802_11.cc , I
can't see any mhDefer_ stop in ::recvData(). I do read
mhDefer_.stop() in ::recvRTS(). But the packet
transmission which interrupts the defer count down can
be anything,(noise, rts, cts, ack, data ...etc). So,
can any one tell me is it a bug, or, it is my
misunderstanding of the coding?
Regards,
Seki
CityU Hong Kong

_______________________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com.hk address at http://mail.english.yahoo.com.hk