layer0.cc
来自「WSN仿真一例假定节点0(node[0])周期性广播消息其它节点接收到消息并转发」· CC 代码 · 共 64 行
CC
64 行
//-------------------------------------------------------------------// file name: layer0.cpp// // - contains the implementation of layer0 class////-------------------------------------------------------------------#include "layer0.h"void layer0::initialize(){}void layer0::activity(){ // main loop while(1) { cMessage * msg = receive(); switch (msg->kind()) { case M_NODE: // message from another node msg->setKind(M_LOWHIGH); send(msg,"uppergate_out"); break; case M_HIGHLOW: // message from a higher layer { msg->setKind(M_NODE); // duplicate the message and send it through all the gates for (int i=0;i<MAXCONN;i++) { cGate *tmpgate = parentModule()->gate("out",i); if (tmpgate==NULL) continue; // if gate is connected, send a message through it if (tmpgate->toGate()!=NULL) { cMessage *tmpmsg = new cMessage(*msg); send(tmpmsg,"lowergate_out",i); } } // delete original message delete msg; } break; default: // unknown message received - bug!. ev << "layer0::activity() error: unknow message received\n"; endSimulation(); } }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?