void HeteroRoute::initialize(int stage) { /** @brief schedule timer start: time for starting as CH. * */ /** @brief schedule timer based on pwrSrc value. **/ double copy_PwrSrc = myCorrTbl.pwrSrc; double schedule_Delay = exp2(1/copy_PwrSrc); cMessage *timerStart = new cMessage("timerStart", TIMERSTART); //assert(timerStart); scheduleAt(simTime() + schedule_Delay + uniform(0.1415926, 0.618), timerStart ); debugEV<<"Scheduling a self message "<<timerStart->getName()<<" \n"<<endl;
}
And I am using cancelAndDelete inside handleLowerMsg() like:
void HeteroRoute::handleLowerMsg(cMessage* msg) {
/****************************************/
if (timerStart != NULL) { if (timerStart->isScheduled()) { cancelAndDelete(timerStart); } }
/*************************************/
}
Thanks for your help.