亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? mflood.cc

?? ns與網絡模擬第七章的示例源代碼
?? CC
字號:
#include <mflood/mflood.h>
#include <mflood/mflood-packet.h>
//#include <mflood.h>
#include <random.h>
#include <cmu-trace.h>
//#include <iostream>

// New packet type
int hdr_mflood::offset_;
static class MFloodHeaderClass : public PacketHeaderClass {
public:
	MFloodHeaderClass() : PacketHeaderClass("PacketHeader/MFlood", 
					      sizeof(hdr_mflood)) {
		bind_offset(&hdr_mflood::offset_);
	}
} class_mfloodhdr;

// TCL Hooks
static class MFloodclass : public TclClass {
public:
	MFloodclass() : TclClass("Agent/MFlood") {}
	TclObject* create(int argc, const char*const* argv) {
		assert(argc == 5);
		return (new MFlood((nsaddr_t) atoi(argv[4])));	// PBO agrv[4] is index_}
	}
} class_rtProtoMFlood;


int
MFlood::command(int argc, const char*const* argv) {
	Tcl& tcl = Tcl::instance();
	if(argc == 2) {		
		if(strncasecmp(argv[1], "id", 2) == 0) {
			tcl.resultf("%d", index_);
			return TCL_OK;
		}
		else if (strcmp(argv[1], "uptarget") == 0) {
			if (uptarget_ != 0)
				tcl.result(uptarget_->name());
			return (TCL_OK);
		}
	} else if(argc == 3) {
		if(strcmp(argv[1], "index_") == 0) {
			index_ = atoi(argv[2]);
			return TCL_OK;
		} else if(strcmp(argv[1], "log-target") == 0 || strcmp(argv[1], "tracetarget") == 0) {
			logtarget = (Trace*) TclObject::lookup(argv[2]);
			if(logtarget == 0) return TCL_ERROR;
			return TCL_OK;
		}
		else if (strcmp(argv[1], "uptarget") == 0) {
			if (*argv[2] == '0') {
				target_ = 0;
				return (TCL_OK);
			}
			uptarget_ = (NsObject*)TclObject::lookup(argv[2]);
			if (uptarget_ == 0) {
				tcl.resultf("no such object %s", argv[2]);
				return (TCL_ERROR);
			}
			return (TCL_OK);
		}
	else if (strcasecmp (argv[1], "port-dmux") == 0) {
           		TclObject *obj;
            		port_dmux_ = (NsObject *) obj;
            		return TCL_OK;
  		}  	
	}
	return Agent::command(argc, argv);
}

MFlood::MFlood(nsaddr_t id) : Agent(PT_MFLOOD), port_dmux_(0) {
	index_ = id;
	logtarget = 0;
	myseq_ = 0;
}


// Route Handling Functions
void
MFlood::rt_resolve(Packet *p) {
	struct hdr_cmn *ch = HDR_CMN(p);
	struct hdr_ip *ih = HDR_IP(p);
	struct hdr_mflood *fh = HDR_MFLOOD(p);
	MFlood_RTEntry* rt;

	rt = rtable_.rt_lookup(ih->saddr());
	if(rt == NULL) {
		rt = new MFlood_RTEntry(ih->saddr(), fh->seq_);

		LIST_INSERT_HEAD(&rtable_.rthead,rt,rt_link);		
	
		//printf("%.8f %d,no uptarget,\n",NOW_,index_);
		forward(rt,p,FORWARD_DELAY);
		
//printf("%.8f %d,no rt,so forward.rt_seq:%d,pkt seq:%d\n",NOW_,index_,rt->max_seqno,fh->seq_);
rtable_.rt_print();		
		
	}
//	else if(rt->seq_ < fh->seq_ )
	else if(rt->isNewSeq(fh->seq_) )
	{
		//printf("%.8f %d,no uptarget,\n",NOW_,index_);
		forward(rt, p, FORWARD_DELAY);
		
//		rt->seq_ = fh->seq_;
		rt->addSeq(fh->seq_);

//printf("%.8f %d,rt seq too small,so forward,rt_seq:%d,packet seq:%d.\n",NOW_,index_,rt->max_seqno,fh->seq_);	
rtable_.rt_print();		
	}
	else
	{
		drop(p, "LOWSEQ");
	}
}


// Packet Reception Routines
void
MFlood::recv(Packet *p, Handler*) {
	struct hdr_cmn *ch = HDR_CMN(p);
	struct hdr_ip *ih = HDR_IP(p);
	struct hdr_mflood *fh = HDR_MFLOOD(p);
	assert(initialized());

	if((ih->saddr() == index_) && (ch->num_forwards() == 0)) {	// Must be a packet I'm originating...		
		ch->size() += IP_HDR_LEN;		// Add the IP Header
		ih->ttl_ = NETWORK_DIAMETER;
		fh->seq_ = myseq_++;			
		forward((MFlood_RTEntry*)1,p,0);		
		return;
	} else if(ih->saddr() == index_) {	// I received a packet that I sent.  Probably a routing loop.
		drop(p, DROP_RTR_ROUTE_LOOP);
		return;
	} else {		// Packet I'm forwarding...
		if(--ih->ttl_ == 0) {	// Check the TTL.  If it is zero, then discard.
			drop(p, DROP_RTR_TTL);
	 		return;
		}
	}

	rt_resolve(p);
}


// Packet Transmission Routines
void
MFlood::forward(MFlood_RTEntry* rt, Packet *p, double delay) {
	struct hdr_cmn *ch = HDR_CMN(p);
	struct hdr_ip *ih = HDR_IP(p);

	assert(ih->ttl_ > 0);
	assert(rt != 0);
//	assert(rt->rt_flags == RTF_UP);
	ch->next_hop_ = -1;	//Broadcast address
	ch->addr_type() = NS_AF_INET;
	ch->direction() = hdr_cmn::DOWN;       //important: change the packet's direction
	if(delay > 0.0) {
 		Scheduler::instance().schedule(target_, p, Random::uniform(delay*2));
	} else {		// Not a broadcast packet, no delay, send immediately
 		Scheduler::instance().schedule(target_, p, 0.);
	}
}



?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕亚洲精品在线观看| 欧美乱妇15p| 激情综合色播五月| 婷婷中文字幕综合| 午夜欧美在线一二页| 亚洲高清三级视频| 亚洲成av人片一区二区梦乃| 亚洲欧美日韩人成在线播放| 亚洲精品国产a久久久久久| 奇米影视一区二区三区| 日韩精品乱码av一区二区| 首页国产欧美日韩丝袜| 毛片一区二区三区| 国产伦精品一区二区三区视频青涩 | 欧美色倩网站大全免费| 欧美色网站导航| 宅男在线国产精品| 精品sm在线观看| 欧美国产一区二区| 亚洲一区免费视频| 日本女人一区二区三区| 国产精品综合在线视频| 成人在线视频一区| 欧美日韩国产在线播放网站| 欧美一区二区三区在线看| 久久日一线二线三线suv| 国产精品美女久久久久久久| 一级特黄大欧美久久久| 日本午夜精品视频在线观看| 激情综合网av| 在线免费不卡视频| 精品国产乱码久久久久久1区2区 | 国产制服丝袜一区| 99久久精品国产观看| 欧美一区二区视频观看视频| 国产欧美日韩不卡免费| 亚洲综合久久久| 精品一区二区三区免费观看| av不卡免费电影| 91精品国产aⅴ一区二区| 中文字幕日韩精品一区 | 久久久久88色偷偷免费| 亚洲美女免费视频| 国产91富婆露脸刺激对白| 欧美中文一区二区三区| 国产三级精品视频| 水野朝阳av一区二区三区| 99在线视频精品| 久久亚洲一区二区三区四区| 午夜a成v人精品| 91在线小视频| 午夜av区久久| 99久久精品免费| 国产清纯白嫩初高生在线观看91| 亚洲成人精品一区| 91麻豆国产自产在线观看| 精品99一区二区三区| 日日摸夜夜添夜夜添亚洲女人| av亚洲精华国产精华| 精品乱人伦小说| 韩国精品主播一区二区在线观看| 欧美精品久久一区| 亚洲国产美女搞黄色| 99久久久久久| 亚洲精品少妇30p| 波多野结衣中文字幕一区二区三区| 精品国产污网站| 韩国成人精品a∨在线观看| 91精品国产色综合久久不卡蜜臀 | 六月丁香综合在线视频| 欧美日韩国产色站一区二区三区| 亚洲日本一区二区| 成人激情小说网站| 国产精品久久777777| 成人av资源站| 国产精品久久网站| 色视频成人在线观看免| 亚洲裸体xxx| 一本色道**综合亚洲精品蜜桃冫| 亚洲同性gay激情无套| 一本色道久久综合亚洲91| 亚洲精品国产a| 欧美高清精品3d| 精品一区二区在线观看| 久久久蜜桃精品| 不卡一区二区在线| 亚洲人成精品久久久久| 精品国产乱码久久久久久蜜臀 | 国产在线精品一区二区不卡了| 91精品国产91热久久久做人人| 日韩av高清在线观看| 日韩美女一区二区三区四区| 极品少妇一区二区| 自拍偷拍亚洲激情| 欧美性一级生活| 免费人成网站在线观看欧美高清| 久久久综合网站| 一本色道久久综合亚洲精品按摩| 一区二区欧美精品| 日韩一区二区免费高清| 丰满少妇在线播放bd日韩电影| 亚洲人成在线播放网站岛国| 欧美日韩精品一区视频| 精品伊人久久久久7777人| 国产精品久久午夜| 在线电影国产精品| 丰满白嫩尤物一区二区| 亚洲国产综合在线| 久久久国产一区二区三区四区小说| 99久久国产综合色|国产精品| 图片区小说区国产精品视频| 久久久青草青青国产亚洲免观| 成人免费视频视频| 日韩国产精品久久久| 国产精品理伦片| 日韩欧美一级二级| 99久久国产综合色|国产精品| 蜜臀av在线播放一区二区三区| 国产欧美日本一区视频| 日韩欧美色综合| 欧洲激情一区二区| 成人综合日日夜夜| 久久国产生活片100| 亚洲亚洲人成综合网络| 日本一区二区三区免费乱视频| 欧美日韩一本到| www.欧美.com| 国产美女娇喘av呻吟久久 | 精品国产乱码久久久久久老虎| 91国产免费看| 成人免费视频免费观看| 99久久久精品免费观看国产蜜| 国产一区二区不卡| 久久精品国产精品亚洲红杏| 午夜精品福利在线| 一区二区三区日韩在线观看| 日韩理论片一区二区| 久久一区二区三区四区| 日韩女同互慰一区二区| 欧美丰满美乳xxx高潮www| 精品视频一区 二区 三区| 99re这里只有精品首页| 成人午夜免费电影| 国产高清在线观看免费不卡| 美美哒免费高清在线观看视频一区二区| 亚洲午夜在线观看视频在线| 亚洲一二三区视频在线观看| 亚洲精品伦理在线| 一区二区不卡在线播放 | 26uuu亚洲婷婷狠狠天堂| 日韩欧美亚洲一区二区| 精品sm捆绑视频| 国产亲近乱来精品视频| 中文字幕国产精品一区二区| 欧美国产一区在线| 中文字幕视频一区| 亚洲亚洲精品在线观看| 日本中文在线一区| 久久99精品久久久久久动态图| 日本成人在线网站| 欧美在线观看一区| 欧美日韩在线不卡| 欧美一区二区高清| 精品国产91久久久久久久妲己 | 国产精品中文字幕日韩精品| 国内一区二区视频| 国产福利一区二区三区视频| 成人av在线影院| 欧美最新大片在线看| 欧美精品黑人性xxxx| 精品毛片乱码1区2区3区| 国产欧美在线观看一区| 亚洲欧美成aⅴ人在线观看| 亚洲午夜久久久| 国产一区二区三区国产| 波多野结衣在线一区| 欧美影院精品一区| 欧美一区二区视频网站| 国产精品欧美久久久久无广告| 中文字幕一区二区三区不卡| 亚洲最新在线观看| 激情文学综合网| 91久久精品日日躁夜夜躁欧美| 欧美精品视频www在线观看| 欧美tickle裸体挠脚心vk| 国产精品丝袜黑色高跟| 亚洲成精国产精品女| 欧美日韩精品一区二区三区| 日韩精品一区在线观看| 欧美激情中文字幕| 日日夜夜一区二区| aaa欧美大片| www成人在线观看| 亚洲国产裸拍裸体视频在线观看乱了 | 99久久久久久99| 日韩欧美色电影| 亚洲aⅴ怡春院| 99视频有精品| 久久久久久免费| 日本一不卡视频|