📄 layer0.cc
字号:
#include"layer0.h"
void layer0::initialize()
{
}
void layer0::activity()
{
while(1)
{
cMessage *msg=receive();
switch(msg->kind())
{
case M_NODE://信息来自别的点 设置消息类型为m_lowhigh 然后通过uppergate-out发送
{ msg->setKind(M_LOWHIGH);
send(msg,"uppergate_out");
break;
}
case M_HIGHLOW://信息来自更高层layer 设置消息类型为m_node
{
msg->setKind(M_NODE);
for(int i=0;i<MAXCONN;i++)//复制消息,发送至所有的门
{
cGate *tmpagte=parentModule()->gate("out",i);
if(tmpgate==NULL)
continue;
if(tmpgate->toGate()!=NULL)
{
//若门有链接,发送消息 通lowergate_out门发送出去
cMessage *tmpmsg=new cMessage(* msg);
send(tmpmsg,"lowergate_out",i);
}
}
delete msg;
break;//与书上不一致 p139
}
default:
ev<<"laye0()::activity()error:unknow message receivde\n";
endSimulation();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -