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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? mflood.cc

?? 《NS與網(wǎng)絡(luò)模擬》一書的源代碼
?? 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);
		}		
	}
	return Agent::command(argc, argv);
}

MFlood::MFlood(nsaddr_t id) : Agent(PT_MFLOOD) {
	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.);
	}
}



?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品三级av在线| 91美女在线观看| 精品av久久707| 久久91精品国产91久久小草| 欧美一区二区视频免费观看| 日韩av高清在线观看| 亚洲国产精品影院| 91国产免费观看| 亚洲一区二区免费视频| 欧美日韩国产片| 另类小说一区二区三区| 久久久久久麻豆| 91网页版在线| 午夜影视日本亚洲欧洲精品| 日韩精品专区在线影院重磅| 国产剧情一区二区| 亚洲欧美色图小说| 欧美一级国产精品| 丁香婷婷综合色啪| 亚洲自拍偷拍欧美| 精品88久久久久88久久久| 丁香亚洲综合激情啪啪综合| 一个色妞综合视频在线观看| 欧美一级免费观看| 成人黄色软件下载| 亚洲成a人片在线观看中文| 日韩免费在线观看| 91丨porny丨首页| 青青草视频一区| 亚洲国产精品二十页| 中文字幕一区不卡| 欧美日韩国产综合视频在线观看 | 国产亚洲一区二区三区四区| 99国产欧美另类久久久精品| 秋霞成人午夜伦在线观看| 国产日韩在线不卡| 欧美美女bb生活片| 白白色 亚洲乱淫| 日本麻豆一区二区三区视频| 亚洲视频一区二区在线观看| 欧美mv日韩mv国产网站app| 91天堂素人约啪| 精品一区二区三区在线播放视频| 亚洲精品视频在线| 久久亚洲二区三区| 欧美日韩国产欧美日美国产精品| 成人h动漫精品一区二区| 强制捆绑调教一区二区| 亚洲丝袜另类动漫二区| 久久尤物电影视频在线观看| 欧美日韩国产成人在线91| 不卡的av在线| 国产一区 二区| 日本不卡的三区四区五区| 尤物视频一区二区| 国产精品久久久久久久久免费樱桃 | 麻豆91在线看| 亚洲电影激情视频网站| 日韩一区欧美一区| 中文字幕欧美激情一区| 26uuu成人网一区二区三区| 在线播放91灌醉迷j高跟美女 | 色94色欧美sute亚洲线路二| 国产高清在线精品| 麻豆专区一区二区三区四区五区| 午夜私人影院久久久久| 亚洲狠狠丁香婷婷综合久久久| 中国av一区二区三区| 久久精品视频网| 国产亚洲综合av| 国产午夜精品久久久久久久| 久久综合九色综合欧美98| 欧美精品1区2区3区| 777久久久精品| 欧美丰满美乳xxx高潮www| 欧美日韩色综合| 欧美日韩一区二区三区在线看| 色综合久久99| 欧美三级日韩三级| 欧美日韩大陆一区二区| 欧美日韩国产中文| 欧美人妖巨大在线| 欧美一区二区三区啪啪| 日韩一区二区三区四区| 欧美mv日韩mv国产| 久久麻豆一区二区| 国产精品拍天天在线| 久久99国产精品久久| 国产一区二区三区免费在线观看| 韩国精品主播一区二区在线观看 | 久久久久久久久免费| 久久久影视传媒| 中文字幕免费观看一区| 成人欧美一区二区三区白人| 亚洲视频一二三区| 午夜精品123| 蜜臀国产一区二区三区在线播放| 韩国av一区二区三区四区| 黑人巨大精品欧美一区| 成人aaaa免费全部观看| 色狠狠色狠狠综合| 91麻豆精品国产91久久久资源速度 | 国产一区二区导航在线播放| 国产激情视频一区二区在线观看 | 亚洲成av人片在线| 美腿丝袜亚洲三区| 国产麻豆成人传媒免费观看| av在线不卡网| 欧美伊人久久大香线蕉综合69| 欧美精选在线播放| 久久久噜噜噜久久人人看| 最好看的中文字幕久久| 五月天一区二区三区| 国产主播一区二区三区| 久久毛片高清国产| 亚洲精品v日韩精品| 免费成人av资源网| 成人国产精品免费网站| 欧美色网站导航| 国产欧美精品一区| 一区二区三区日韩| 国产综合色精品一区二区三区| 97精品超碰一区二区三区| 欧美一区国产二区| 亚洲欧洲性图库| 麻豆精品一区二区综合av| fc2成人免费人成在线观看播放 | av网站免费线看精品| 制服丝袜中文字幕一区| 国产精品午夜久久| 石原莉奈在线亚洲二区| 99久久精品一区二区| 欧美一区二区三区在线观看视频| 国产精品视频免费| 麻豆精品久久精品色综合| 91极品视觉盛宴| 欧美国产精品一区二区| 蜜桃久久久久久久| 欧美怡红院视频| 国产精品理伦片| 久久er精品视频| 欧美日韩久久久一区| 国产精品免费久久| 国产中文一区二区三区| 欧美丰满高潮xxxx喷水动漫| 综合欧美一区二区三区| 国产精品亚洲成人| 91精品国产免费久久综合| 亚洲图片激情小说| 成人教育av在线| 欧美成人a∨高清免费观看| 亚洲妇女屁股眼交7| 92精品国产成人观看免费| 国产丝袜在线精品| 精品一区二区三区免费观看| 91精品国产乱码久久蜜臀| 亚洲一区在线播放| 色噜噜狠狠一区二区三区果冻| 国产精品视频一二三区| 国产东北露脸精品视频| 精品国产91洋老外米糕| 日本午夜精品视频在线观看| 欧美性xxxxx极品少妇| 一区二区三区不卡视频在线观看| eeuss国产一区二区三区| 国产欧美一区二区精品秋霞影院| 激情六月婷婷综合| 日韩女优av电影| 久久99精品国产91久久来源| 欧美一区二区三区不卡| 日本不卡一区二区| 日韩欧美精品在线| 日av在线不卡| 日韩一级在线观看| 韩国三级在线一区| 久久久久久久久久久99999| 国产一区二区三区久久久| 国产亚洲一二三区| 成人免费高清视频在线观看| 国产精品久久久久久亚洲毛片 | 亚洲成人激情社区| 欧美三级视频在线播放| 婷婷开心激情综合| 欧美一区二区福利视频| 久久黄色级2电影| 久久精品欧美日韩精品| 成人免费不卡视频| 亚洲精品ww久久久久久p站| 欧美日韩中文另类| 日本va欧美va精品发布| www国产精品av| 99久久99久久综合| 天天操天天干天天综合网| 日韩一级二级三级| 国产69精品久久99不卡| 亚洲欧洲综合另类在线| 欧美久久久久久久久久| 国产美女在线观看一区| 亚洲综合视频网| 欧美成人a在线|