Omnet++, How can I get list of all scheduled events of a module? -
i scheduling list of events against node in omnet++ using:
scheduleat(simtime().dbl() + slottime, msg)
and there multiple such schedule in future event list single module.
now @ given time instant want cancel future scheduled events of node , that's why need list of future events.
to best of knowledge cancelevent(msg)
cancel 1 event. how can find list , remove events. please help.
to access list of all future events 1 can use getmessagequeue()
. , remove own events (i.e. selfmessages) every event in list has checked using isselfmessage()
. sample code, removes selfmessages future event set:
cmessageheap& heap = csimulation::getactivesimulation()->getmessagequeue(); cmessageheap::iterator it(heap); { cmessage * event = it(); if (event && event->isselfmessage()) { cancelanddelete(event); it.init(heap); } else { it++; } } while (!it.end());
Comments
Post a Comment