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

📄 echoer2.java

📁 jsim simulator program for MANET
💻 JAVA
字号:
import drcl.comp.Port;
import drcl.inet.InetPacket;

/**
 * Example protocol class - echoer2.
 */
public class echoer2 extends drcl.inet.Protocol
{
	final static int REQ=1, RPL=2, tos=0;
	 Port ifport;
	 Port idport;

	public echoer2()
	{ 	
		super(); 
		
	}

	public echoer2(String id_)
	{ super(id_); }

	void sendmsg(int type_, double tm_,long src_,long dst_)
	{
		
		debug("in sending");
	
			echopkt pkt_ = new echopkt(type_, tm_);
	
//		broadcast(pkt_, src_, 0x7ffffffffffffffeL, true, k, 1L, 0x7ffffffffffffffeL);	
		//broadcast(pkt_,10,src_,dst_,false/*routerAlert*/, 10/*TTL*/, tos);
				forward(pkt_, 10/*size*/, drcl.net.Address.NULL_ADDR/*src*/, dst_,
				false/*routerAlert*/, 255/*TTL*/, tos);

		debug("in broadcast");
	}

	public void send_echo_request(long src_,long dst_)
	{
		debug("Sending an Echo packet to node" + dst_ + "from node " + src_);
		sendmsg(REQ, getTime(),src_,dst_);
	}

	protected void dataArriveAtDownPort(Object data_, Port downPort_)
	{
		debug("in receive");
		InetPacket ipkt_ = (InetPacket)data_;
		echopkt pkt_ = (echopkt)ipkt_.getBody();
		long src_ = ipkt_.getSource();
		if (pkt_.type==RPL)
		{
			double rtt = getTime() - pkt_.time;
			debug("Getting a reply, round-trip time is: " + rtt);
		}
		else {
			debug("Getting a request, sending time is: " + pkt_.time);
			
		}
	}


	
	protected void process(Object obj, Port port)
	{
		
		debug("in receive");
	}
	

	
}

⌨️ 快捷键说明

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