txc9.cpp.bak

来自「这是一个基于OMNeT++的仿真模型,编程语采用C」· BAK 代码 · 共 49 行

BAK
49
字号
#include <stdio.h>
#include <string.h>
#include <omnetpp.h>

class Txc9 : public cSimpleModule
{
	protected:
		virtual void forwardMessage(cMessage *msg);
		virtual void initialize();
		virtual void handleMessage(cMessage *msg);
	};
	
	Define_module(Txc9);
	
	void Txc9::initialize()
	{
		if(index()==0)
			{
				char msgname[20];
				sprintf(msgname,"tic-%d",index());
				cMessage *msg=new cMessage(msgname);
				scheduleAt(0.0,msg);
			}
	}
	
	void Txc9::handleMessage(cMessage *msg)
	{
		if (index()==3)
			{
				//Message arrived
				ev<<"Message  "<<msg<<"arrived.\n";
				delete msg;
			}
		else
			{
				//We need to forward the message.
				forwardMessage(msg);
			}
	}
	
	
	void Txc9::forwardMessage(cMessage *msg)
	{
		int n=gate("out")->size();
		int k=intuniform(0,n-1);
		
		ev<<"Forwarding message "<<msg<<" on port out["<<k<<"]\n";
		send(msg,"out",k);
	}

⌨️ 快捷键说明

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