⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 layer0.cpp

📁 一个简单的基于静态路由表的最佳路由过程
💻 CPP
📖 第 1 页 / 共 2 页
字号:
                                         

						msg->setKind(M_NODE);
						send(msg,"lowergate_out");
                                  
					
					}
                                   //}
                                  else
					delete msg;
				}*/

				/*if(((senderPX==(arrivalPX+100))||(senderPX==(arrivalPX-100))||(senderPX==arrivalPX))&&((senderPY==(arrivalPY+100))||(senderPY==(arrivalPY-100))||(senderPY==arrivalPY)))
					{
						msg->setKind(M_LOWHIGH);
						send(msg,"uppergate_out");
					}*/
					//Notice:it is not necessary if only for addressing
				/*	else
					{
						int amcluster=(int)this->parentModule()->par("ISHEAD");
						if(amcluster==1)
							{
									 msg->setKind(M_LOWHIGH);
						       send(msg,"uppergate_out");
							}
						else
							{delete msg;}				
					}*/
					
			}
			break;

		/*case M_HIGHLOW:					// message from a higher layer
			{
		//		ev<<"receive message from application"<<endl;
				msg->setKind(M_NODE);
				int nummsg=0;
				// duplicate the message and send it through all the gates
				for (int i=0;i<NNODES;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);
						nummsg++;
					}
				}
				//parentModule()->par("ENERGY")=time-nummsg;
				delete msg;
			}
			break;*/
		case M_SELF:
                     { 
                             UPDATECOLOR(3);
                             int IPd=(int)msg->par("IPd");
                             if(IPd==ID)
                              {
                                 ev<<"find the destination!\n";
                                 UPDATECOLOR(7);
                                 endSimulation();
                                 delete msg;
                                 break;
                               }
                           cMessage *msg = new cMessage("linknode");
                           msg->setKind(M_NODE);
                           msg->addPar("senderPX")=this->parentModule()->par("PX");
				msg->addPar("senderPY")=this->parentModule()->par("PY");
                           msg->addPar("IPd")=IPd;
                           if((ID==0)&&((IPd==1)||(IPd==2)||(IPd==3)))
                                send(msg,"lowergate_out",0);
                             if((ID==0)&&((IPd==4)||(IPd==8)||(IPd==12)))
                                send(msg,"lowergate_out",1);
                             if((ID==0)&&((IPd==5)||(IPd=9)||(IPd==13)||(IPd==6)||(IPd==7)||(IPd==10)||(IPd==11)||(IPd==14)||(IPd==15)))
                                send(msg,"lowergate_out",2);
                             if((ID==1)&&((IPd==2)||(IPd==3)))
                                send(msg,"lowergate_out",1);
                             if((ID==1)&&(IPd==0))
                                send(msg,"lowergate_out",0);
                             if((ID==1)&&((IPd==4)||(IPd==8)||(IPd==12)))
                                send(msg,"lowergate_out",2);
                             if((ID==1)&&((IPd==5)||(IPd==9)||(IPd==13)))
                                send(msg,"lowergate_out",3);
                             if((ID==1)&&((IPd==6)||(IPd==7)||(IPd==10)||(IPd==11)||(IPd==14)||(IPd==15)))
                                send(msg,"lowergate_out",4);
                             if((ID==2)&&((IPd==0)||(IPd==1)))
                                send(msg,"lowergate_out",0);
                             if((ID==2)&&(IPd==3))
                                send(msg,"lowergate_out",1);
                             if((ID==2)&&((IPd==6)||(IPd==10)||(IPd==14)))
                                send(msg,"lowergate_out",3);
                             if((ID==2)&&((IPd==7)||(IPd==11)||(IPd==15)))
                                send(msg,"lowergate_out",4);
                             if((ID==2)&&((IPd==4)||(IPd==5)||(IPd==8)||(IPd==9)||(IPd==12)||(IPd==13)))
                                send(msg,"lowergate_out",2);
                             if((ID==3)&&((IPd==1)||(IPd==2)||(IPd==0)))
                                send(msg,"lowergate_out",0);
                             if((ID==3)&&((IPd==7)||(IPd==11)||(IPd==15)))
                                send(msg,"lowergate_out",2);
                                           if((ID==3)&&((IPd==4)||(IPd==5)||(IPd==6)||(IPd==8)||(IPd==9)||(IPd==10)||(IPd==12)||(IPd==14)||(IPd==13)))
                                send(msg,"lowergate_out",1);
                             if((ID==4)&&(IPd==0))
                                send(msg,"lowergate_out",0);
                             if((ID==4)&&((IPd==1)||(IPd==2)||(IPd==3)))
                                send(msg,"lowergate_out",1);
                             if((ID==4)&&((IPd==5)||(IPd==6)||(IPd==7)))
                                send(msg,"lowergate_out",2);
                             if((ID==4)&&((IPd==8)||(IPd==12)))
                                send(msg,"lowergate_out",3);
                                                   if((ID==4)&&((IPd==9)||(IPd==10)||(IPd==11)||(IPd==13)||(IPd==14)||(IPd==15)))
                                send(msg,"lowergate_out",4);
                             if((ID==5)&&(IPd==0))
                                send(msg,"lowergate_out",0);
                             if((ID==5)&&(IPd==1))
                                send(msg,"lowergate_out",1);
                             if((ID==5)&&(IPd==4))
                                send(msg,"lowergate_out",3);
                             if((ID==5)&&((IPd==2)||(IPd==3)))
                                send(msg,"lowergate_out",2);
                             if((ID==5)&&((IPd==6)||(IPd==7)))
                                send(msg,"lowergate_out",4);
                             if((ID==5)&&((IPd==8)||(IPd==12)))
                                send(msg,"lowergate_out",5);
                             if((ID==5)&&((IPd==9)||(IPd==13)))
                                send(msg,"lowergate_out",6);
                                                   if((ID==5)&&((IPd==10)||(IPd==11)||(IPd==14)||(IPd==15)))
                                send(msg,"lowergate_out",7);
                             if((ID==6)&&((IPd==0)||(IPd==1)))
                                send(msg,"lowergate_out",0);
                             if((ID==6)&&(IPd==2))
                                send(msg,"lowergate_out",1);
                             if((ID==6)&&(IPd==3))
                                send(msg,"lowergate_out",2);
                             if((ID==6)&&((IPd==4)||(IPd==5)))
                                send(msg,"lowergate_out",3);
                             if((ID==6)&&(IPd==7))
                                send(msg,"lowergate_out",4);
                             if((ID==6)&&((IPd==11)||(IPd==15)))
                                send(msg,"lowergate_out",7);
                             if((ID==6)&&((IPd==10)||(IPd==14)))
                                send(msg,"lowergate_out",7);
                                                   if((ID==6)&&((IPd==8)||(IPd==9)||(IPd==12)||(IPd==13)))
                                send(msg,"lowergate_out",5);
                             if((ID==7)&&((IPd==11)||(IPd==15)))
                                send(msg,"lowergate_out",4);
                             if((ID==7)&&(IPd==3))
                                send(msg,"lowergate_out",1);
                             if((ID==7)&&((IPd==4)||(IPd==5)||(IPd==6)))
                                send(msg,"lowergate_out",2);
                             if((ID==7)&&((IPd==0)||(IPd==2)||(IPd==1)))
                                send(msg,"lowergate_out",0);
                                                   if((ID==7)&&((IPd==8)||(IPd==9)||(IPd==10)||(IPd==12)||(IPd==14)||(IPd==13)))
                                send(msg,"lowergate_out",3);
                             if((ID==8)&&((IPd==0)||(IPd==4)))
                                send(msg,"lowergate_out",0);
                             if((ID==8)&&(IPd==12))
                                send(msg,"lowergate_out",3);
                             if((ID==8)&&((IPd==9)||(IPd==10)||(IPd==11)))
                                send(msg,"lowergate_out",2);
                             if((ID==8)&&((IPd==13)||(IPd==14)||(IPd==15)))
                                send(msg,"lowergate_out",4);
                                                   if((ID==8)&&((IPd==1)||(IPd==2)||(IPd==3)||(IPd==5)||(IPd==6)||(IPd==7)))
                                send(msg,"lowergate_out",1);
                             if((ID==9)&&((IPd==0)||(IPd==4)))
                                send(msg,"lowergate_out",0);
                             if((ID==9)&&(IPd==8))
                                send(msg,"lowergate_out",3);
                             if((ID==9)&&((IPd==1)||(IPd==5)))
                                send(msg,"lowergate_out",1);
                             if((ID==9)&&((IPd==10)||(IPd==11)))
                                send(msg,"lowergate_out",4);
                             if((ID==9)&&(IPd==12))
                                send(msg,"lowergate_out",5);
                             if((ID==9)&&(IPd==13))
                                send(msg,"lowergate_out",6);
                             if((ID==9)&&((IPd==14)||(IPd==15)))
                                send(msg,"lowergate_out",7);
                                                   if((ID==9)&&((IPd==2)||(IPd==6)||(IPd==3)||(IPd==7)))
                                send(msg,"lowergate_out",2);
                             if((ID==10)&&((IPd==2)||(IPd==6)))
                                send(msg,"lowergate_out",1);
                             if((ID==10)&&(IPd==11))
                                send(msg,"lowergate_out",4);
                             if((ID==10)&&(IPd==14))
                                send(msg,"lowergate_out",6);
                             if((ID==10)&&((IPd==12)||(IPd==13)))
                                send(msg,"lowergate_out",5);
                             if((ID==10)&&(IPd==15))
                                send(msg,"lowergate_out",7);
                             if((ID==10)&&((IPd==3)||(IPd==7)))
                                send(msg,"lowergate_out",2);
                             if((ID==10)&&((IPd==8)||(IPd==9)))
                                send(msg,"lowergate_out",3);
                                                   if((ID==10)&&((IPd==0)||(IPd==1)||(IPd==4)||(IPd==5)))
                                send(msg,"lowergate_out",0);
                             if((ID==11)&&((IPd==3)||(IPd==7)))
                                send(msg,"lowergate_out",1);
                             if((ID==11)&&(IPd==15))
                                send(msg,"lowergate_out",4);
                             if((ID==11)&&((IPd==8)||(IPd==9)||(IPd==10)))
                                send(msg,"lowergate_out",2);
                             if((ID==11)&&((IPd==12)||(IPd==13)||(IPd==14)))
                                send(msg,"lowergate_out",3);
                                                   if((ID==11)&&((IPd==0)||(IPd==1)||(IPd==2)||(IPd==5)||(IPd==6)||(IPd==4)))
                                send(msg,"lowergate_out",0);
                             if((ID==12)&&((IPd==0)||(IPd==4)||(IPd==8)))
                                send(msg,"lowergate_out",0);
                             if((ID==12)&&((IPd==13)||(IPd==14)||(IPd==15)))
                                send(msg,"lowergate_out",2);
                             if((ID==12)&&((IPd==1)||(IPd==2)||(IPd==3)||(IPd==5)||(IPd==6)||(IPd==7)||(IPd==9)||(IPd==10)||(IPd==11)))
                                send(msg,"lowergate_out",1);
                             if((ID==13)&&((IPd==14)||(IPd==15)))
                                send(msg,"lowergate_out",4);
                             if((ID==13)&&(IPd==12))
                                send(msg,"lowergate_out",3);
                             if((ID==13)&&((IPd==1)||(IPd==5)||(IPd==9)))
                                send(msg,"lowergate_out",1);
                             if((ID==13)&&((IPd==0)||(IPd==4)||(IPd==8)))
                                send(msg,"lowergate_out",0);
                             if((ID==13)&&((IPd==2)||(IPd==3)||(IPd==6)||(IPd==7)||(IPd==10)||(IPd==11)))
                                send(msg,"lowergate_out",2);
                             if((ID==14)&&((IPd==12)||(IPd==13)))
                                send(msg,"lowergate_out",3);
                             if((ID==14)&&(IPd==15))
                                send(msg,"lowergate_out",4);
                             if((ID==14)&&((IPd==2)||(IPd==6)||(IPd==10)))
                                send(msg,"lowergate_out",1);
                             if((ID==14)&&((IPd==3)||(IPd==7)||(IPd==11)))
                                send(msg,"lowergate_out",2);
                                                   if((ID==14)&&((IPd==0)||(IPd==1)||(IPd==4)||(IPd==5)||(IPd==8)||(IPd==9)))
                                send(msg,"lowergate_out",0);
                             if((ID==15)&&((IPd==3)||(IPd==7)||(IPd==11)))
                                send(msg,"lowergate_out",1);
                             if((ID==15)&&((IPd==12)||(IPd==13)||(IPd==14)))
                                send(msg,"lowergate_out",2);
                                           if((ID==15)&&((IPd==1)||(IPd==2)||(IPd==0)||(IPd==5)||(IPd==6)||(IPd==4)||(IPd==9)||(IPd==10)||(IPd==8)))
                                send(msg,"lowergate_out",0);
	
				//send(msg,"lowergate_out");
                           //delete msg;
                      }
			break;
		default:						// unknown message received - bug!. 
			ev << "layer0::activity() error: unknow message received\n";
			endSimulation();
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -