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