numNodes = parent->par("numNodes");
ev << "BS numNodes is: " << numNodes << "\n";//总的节点个数是:
trRange = parent->par("trRange");
ev << "BS trRange is: " << trRange << "\n";//总的轮数是:
for(i=1;i<=simulation.getLastModuleId();i+
+)//????????????????????????????????????????????
{
mod=simulation.getModule(i);//????????????????????????????????????????????????????????
if(strcmp(mod->getName(),"node")==0)//遍历节点,把模块指针填充
{
nodePtr[((Node*)mod)->myId]=(Node*)mod;//Id 标识,指针
}
}
}
/**********第六个执行的函数********************/
void BS::handleMessage(cMessage* msg) {//消息处理函数
if (msg->isSelfMessage()) {//本身的身消息
ev << "BS: got self message type " << msg->getKind() << "\n";//节点开始初始化完
(在 initialize()函数中)
if (msg->getKind() == SMSG_INIT) {
ev << "BS: got start message\n";//
this->initNodes();
}
} else {//其他消息 no selfmessage 来自节点的消息或者是簇头的消息
if (((ClusterMessage*) msg)->getProto() == CL_TOBS) {//簇头到基站的消息(红色
的)。
ev << "status message " << "\n";//消息状态
double energy;
int cluster;//簇头
int status;//各个状态
int sender;//发射机
int clHead;
double curHEnergy;
int curHStatus;
double rating;
double xpos, ypos;
/