Sorry, I don't know why this email was rejected automatically. Send again

Hello Ramón,
      Thank you very much for your reply. I think discussion is good
for our works. And I'm sorry to reply late for I'm concentrating on
the coding and debugging work recently.

        I also noticed the  "if(rifp->channel() == this) {" , but
this appears in  "if (GridKeeper::instance()) {}" branch only, in the
"else{}" branch (using the list improvement) this decision should be
added to make sure the channel is the same. It seems more like a bug
when multichannel is adopted.

       It must be noted that What I used is ns2.33-allinone, and the
codes mentioned above appears in ns-2.33/mac/channel.cc, the
wirelessChannel Class's sendUp function. This version of 802.11, a
great work provided by Qi Chen, Felix Schmidt-Eisenlohr, and Daniel
Jiang, is more correct because it considers the wireless channel
characteristics: a packet transmitted on one channel will probably
block the receiving of another packets when its detected power is
large enough. In this sense scheduling each packet onto all the
channels without discrimination is not proper.

     I think you used the gridkeeper, which may be of no problem. But
if not, when list-based improvement is used, there is another problem:
the mobilenode class, (in /common/Mobilenode.cc\h, can not support
multi-channel nodes lists because it has only one set of node list
pointers:
....
      /* For list-keeper */
       MobileNode* nextX_;
       MobileNode* prevX_;
...
    This will cause the sending of packets from wireless channel to
Phy objects incorrect. Perhaps some users have noticed this problem
too.

    I wish to see more comments who are working on multichannel simulations.

Thank you very much.

Bests,
Matt

Reply via email to