Dear all:

    I am working on a simulation using NS-2.27. I have following question. 

    In "mac-802_11.cc", the function "Mac802_11::send(Packet *p, Handler *h)", 
there are two kinds of timers: BackoffTimer and DeferTimer. I confuse the 
difference between BackoffTimer and DeferTimer. I cannot differentiate the 
physical meaning of BackoffTimer and DeferTimer. For example, in send(), we 
have 

        rTime = (Random::random() % cw_) * (phymib_.getSlotTime());
        mhDefer_.start(phymib_.getDIFS() + rTime);

    Hence, DeferTimer mhDefer means a random backoff plus DISF. However, in 
send(), we also have

        mhBackoff_.start(cw_, is_idle());

    In the body of this function in "mac-timers.cc", the same thing is done as 

        rtime = (Random::random() % cw) * mac->phymib_.getSlotTime();

    This is the same as the procedure of DeferTimer.  I confuse the difference 
between BackoffTimer and DeferTimer.

    Sorry if I am ignorant about the support with NS2.

            Thanks,

      
                            hyper

Reply via email to