Hi all,

I have a little problem with the Scheduler. I schedule some packets in my
program

Scheduler::instance().schedule(target_, p, (100/tcf_time));

And then I registers all the scheduled packets with packet source and packet
uid

map <nsaddr_t, scheduler_uid_t> scedPackets;

Then i wait to receive some packet and if happens i have to cancel the
packet from the Scheduler

pos = scedPackets.find(ph->pkt_src_);
Event* e = Scheduler::instance().lookup(pos->second);
                  if(e!=NULL) {
                     Scheduler::instance().cancel(e);
                     fprintf(stdout, "Cancelling event \n", e->uid_);
}



It doesn't work. I read the trace and saw that, even if the node sends the
packet, it send it anyway

r 0.772681927 _1_ RTR  --- 2 protoname 27 [0 ffffffff 2 800] ------- [2:255
-1:255 32 0]
D 0.772681927 _1_ RTR  --- 2 protoname 27 [0 ffffffff 2 800] ------- [2:255
-1:255 32 0]
s 1.320665076 _1_ RTR  --- 1 protoname 27 [0 0 0 0] ------- [1:255 -1:255 32
0]

Does anyone know why? How can i cancel a packet from the scheduler queue?

Plz any suggestion could be useful... i am really stuck
Thks
Maurizio

Reply via email to