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

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

?? cmu-trace.cc

?? 這個市一個ns環境下的leach算法!大家可以多下在啊!我想要一個matlab環境下的概算法!
?? CC
?? 第 1 頁 / 共 3 頁
字號:
			    "-aodv:l %f -aodv:c %s ",			    rp->rp_type,			    rp->rp_hop_count,			    rp->rp_dst,			    rp->rp_dst_seqno,			    rp->rp_lifetime,			    rp->rp_type == AODVTYPE_RREP ? "REPLY" :			    (rp->rp_type == AODVTYPE_RERR ? "ERROR" :			     "HELLO"));		} else if (newtrace_) {						sprintf(pt_->buffer() + offset,			    "-P aodv -Pt 0x%x -Ph %d -Pd %d -Pds %d -Pl %f -Pc %s ",				rp->rp_type,				rp->rp_hop_count,				rp->rp_dst,				rp->rp_dst_seqno,				rp->rp_lifetime,				rp->rp_type == AODVTYPE_RREP ? "REPLY" :				(rp->rp_type == AODVTYPE_RERR ? "ERROR" :				 "HELLO"));	        } else {						sprintf(pt_->buffer() + offset,				"[0x%x %d [%d %d] %f] (%s)",				rp->rp_type,				rp->rp_hop_count,				rp->rp_dst,				rp->rp_dst_seqno,				rp->rp_lifetime,				rp->rp_type == AODVTYPE_RREP ? "REPLY" :				(rp->rp_type == AODVTYPE_RERR ? "ERROR" :				 "HELLO"));		}                break;		        default:#ifdef WIN32                fprintf(stderr,		        "CMUTrace::format_aodv: invalid AODV packet type\n");#else		fprintf(stderr,		        "%s: invalid AODV packet type\n", __FUNCTION__);#endif                abort();        }}voidCMUTrace::nam_format(Packet *p, int offset){	Node* srcnode = 0 ;	Node* dstnode = 0 ;	Node* nextnode = 0 ;        struct hdr_cmn *ch = HDR_CMN(p);	struct hdr_ip *ih = HDR_IP(p);	char op = (char) type_;	char colors[32];	int next_hop = -1 ;// change wrt Mike's code	assert(type_ != EOT);        int dst = Address::instance().get_nodeaddr(ih->daddr());	nextnode = Node::get_node_by_address(ch->next_hop_);        if (nextnode) next_hop = nextnode->nodeid(); 	srcnode = Node::get_node_by_address(src_);	dstnode = Node::get_node_by_address(ch->next_hop_);	double distance = 0;        if ((srcnode) && (dstnode)) {	   MobileNode* tmnode = (MobileNode*)srcnode;	   MobileNode* rmnode = (MobileNode*)dstnode;	   distance = tmnode->propdelay(rmnode) * 300000000 ;	}	double energy = -1;	double initenergy = -1;	//default value for changing node color with respect to energy depletion	double l1 = 0.5; 	double l2 = 0.2;		if (srcnode) {	    if (srcnode->energy_model()) {		    energy = srcnode->energy_model()->energy();		    initenergy = srcnode->energy_model()->initialenergy();		    l1 = srcnode->energy_model()->level1();		    l2 = srcnode->energy_model()->level2();	    }	}        int energyLevel = 0 ;        double energyLeft = (double)(energy/initenergy) ;        if ((energyLeft <= 1 ) && (energyLeft >= l1 )) energyLevel = 3;	        if ((energyLeft >= l2 ) && (energyLeft < l1 )) energyLevel = 2;	        if ((energyLeft > 0 ) && (energyLeft < l2 )) energyLevel = 1;		if (energyLevel == 0) 		strcpy(colors,"-c black -o red");        else if (energyLevel == 1) 		strcpy(colors,"-c red -o yellow");        else if (energyLevel == 2) 		strcpy(colors,"-c yellow -o green");        else if (energyLevel == 3) 		strcpy(colors,"-c green -o black");	// A simple hack for scadds demo (fernandez's visit) -- Chalermek	int pkt_color = 0;	if (ch->ptype()==PT_DIFF) {		hdr_cdiff *dfh= HDR_CDIFF(p);		if (dfh->mess_type != DATA) {			pkt_color = 1;		}	}	// convert to nam format 	if (op == 's') op = 'h' ;	if (op == 'D') op = 'd' ;	if (op == 'h') {	   sprintf(pt_->nbuffer(),		"+ -t %.9f -s %d -d %d -p %s -e %d -c 2 -a %d -i %d -k %3s ",		Scheduler::instance().clock(),		src_,                           // this node		next_hop,		packet_info.name(ch->ptype()),		ch->size(),		pkt_color,   		ch->uid(),		tracename);	   offset = strlen(pt_->nbuffer());	   pt_->namdump();	   sprintf(pt_->nbuffer() ,		"- -t %.9f -s %d -d %d -p %s -e %d -c 2 -a %d -i %d -k %3s",		Scheduler::instance().clock(),		src_,                           // this node		next_hop,		packet_info.name(ch->ptype()),		ch->size(),		pkt_color,		ch->uid(),		tracename);	   offset = strlen(pt_->nbuffer());           pt_->namdump();	}        // if nodes are too far from each other	// nam won't dump SEND event 'cuz it's	// gonna be dropped later anyway	// this value 250 is pre-calculated by using 	// two-ray ground refelction model with fixed	// transmission power 3.652e-10//	if ((type_ == SEND)  && (distance > 250 )) return ;	if(tracetype == TR_ROUTER && type_ == RECV && dst != -1 ) return ;	if(type_ == RECV && dst == -1 )dst = src_ ; //broadcasting event        if (energy != -1) { //energy model being turned on	   if (src_ >= MAX_NODE) {	       fprintf (stderr, "%: node id must be < %d\n",		       __PRETTY_FUNCTION__, MAX_NODE);	       exit(0);	   }	   if (nodeColor[src_] != energyLevel ) { //only dump it when node  	       sprintf(pt_->nbuffer() ,                    //color change	          "n -t %.9f -s %d -S COLOR %s",	           Scheduler::instance().clock(),	           src_,                           // this node	           colors);               offset = strlen(pt_->nbuffer());               pt_->namdump();	       nodeColor[src_] = energyLevel ;	    }           }	sprintf(pt_->nbuffer() ,		"%c -t %.9f -s %d -d %d -p %s -e %d -c 2 -a %d -i %d -k %3s",		op,		Scheduler::instance().clock(),		src_,                           // this node		next_hop,		packet_info.name(ch->ptype()),		ch->size(),		pkt_color,		ch->uid(),		tracename);	offset = strlen(pt_->nbuffer());	pt_->namdump();}void CMUTrace::format(Packet* p, const char *why){	hdr_cmn *ch = HDR_CMN(p);	int offset = 0;	/*	 * Log the MAC Header	 */	format_mac_common(p, why, offset);	if (pt_->namchannel()) 		nam_format(p, offset);	offset = strlen(pt_->buffer());	switch(ch->ptype()) {	case PT_MAC:	case PT_SMAC:		break;	case PT_ARP:		format_arp(p, offset);		break;#ifdef MIT_uAMPS	case PT_RCA:		format_rca(p,offset);		break;#endif	default:		format_ip(p, offset);		offset = strlen(pt_->buffer());		switch(ch->ptype()) {		case PT_AODV:			format_aodv(p, offset);			break;		case PT_TORA:                        format_tora(p, offset);                        break;                case PT_IMEP:                        format_imep(p, offset);                        break;		case PT_DSR:			format_dsr(p, offset);			break;		case PT_MESSAGE:		case PT_UDP:			format_msg(p, offset);			break;		case PT_TCP:		case PT_ACK:			format_tcp(p, offset);			break;		case PT_SCTP:			/* Armando L. Caro Jr. <acaro@@cis,udel,edu> 6/5/2002			 */			format_sctp(p, offset);			break;		case PT_CBR:			format_rtp(p, offset);			break;#ifdef MIT_uAMPS		case PT_RCA:			break;#endif	        case PT_DIFF:			break;		case PT_GAF:		case PT_PING:			break;		default:			fprintf(stderr, "%s - invalid packet type (%s).\n",				__PRETTY_FUNCTION__, packet_info.name(ch->ptype()));			exit(1);		}	}}intCMUTrace::command(int argc, const char*const* argv){	        if(argc == 3) {                if(strcmp(argv[1], "node") == 0) {                        node_ = (MobileNode*) TclObject::lookup(argv[2]);                        if(node_ == 0)                                return TCL_ERROR;                        return TCL_OK;                }		if (strcmp(argv[1], "newtrace") == 0) {			newtrace_ = atoi(argv[2]);		        return TCL_OK;		}        }	return Trace::command(argc, argv);}/*ARGSUSED*/voidCMUTrace::recv(Packet *p, Handler *h){	if (!node_energy()) {		Packet::free(p);		return;	}        assert(initialized());        /*         * Agent Trace "stamp" the packet with the optimal route on         * sending.         */        if (tracetype == TR_AGENT && type_ == SEND) {                God::instance()->stampPacket(p);        }#if 0        /*         * When the originator of a packet drops the packet, it may or may         * not have been stamped by GOD.  Stamp it before logging the         * information.         */        if(src_ == src && type_ == DROP) {                God::instance()->stampPacket(p);        }#endif	format(p, "---");	pt_->dump();	//namdump();	if(target_ == 0)		Packet::free(p);	else		send(p, h);}voidCMUTrace::recv(Packet *p, const char* why){        assert(initialized() && type_ == DROP);	if (!node_energy()) {		Packet::free(p);		return;	}#if 0        /*         * When the originator of a packet drops the packet, it may or may         * not have been stamped by GOD.  Stamp it before logging the         * information.         */        if(src_ == ih->saddr()) {                God::instance()->stampPacket(p);        }#endif	format(p, why);	pt_->dump();	//namdump();	Packet::free(p);}int CMUTrace::node_energy(){	Node* thisnode = Node::get_node_by_address(src_);	double energy = 1;	if (thisnode) {		if (thisnode->energy_model()) {			energy = thisnode->energy_model()->energy();		}	} 	if (energy > 0) return 1;	return 0;}#ifdef MIT_uAMPSvoidCMUTrace::format_rca(Packet *p, int offset){    struct hdr_rca *rca_hdr = HDR_RCA(p);    char op = (char) type_;    switch (rca_hdr->msg_type())      {      case ADV:        op = ADV_CHAR;        break;      case REQ:        op = REQ_CHAR;        break;      case DATA:        op = DATA_CHAR;        break;      default:        //printf("format_rca:  Warning, unknown meta-data type %d\n",rca_hdr->msg_type());        op = (char) type_;        break;      }    sprintf(pt_->buffer() + offset, "------- [%c %d %d %d] ",        op,        rca_hdr->rca_src(),        rca_hdr->rca_link_dst(),        rca_hdr->rca_mac_dst()        );    return;}#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久综合久久综合久久| 亚洲一卡二卡三卡四卡无卡久久| 午夜精彩视频在线观看不卡| 色综合久久中文综合久久97| 亚洲日本成人在线观看| 91浏览器入口在线观看| 中文字幕色av一区二区三区| 色综合一区二区| 一卡二卡欧美日韩| 欧美精品高清视频| 麻豆精品视频在线观看| 2023国产精品| jlzzjlzz亚洲女人18| 亚洲美女屁股眼交| 欧美日韩国产一级| 捆绑调教一区二区三区| 久久婷婷色综合| 成人高清伦理免费影院在线观看| 亚洲欧美激情在线| 欧美亚洲愉拍一区二区| 麻豆国产欧美日韩综合精品二区| 国产亚洲综合av| 在线日韩国产精品| 久久99精品久久久久久国产越南 | 日韩一区二区三区视频在线| 国内久久婷婷综合| 中文字幕视频一区| 日韩一区二区电影| 成人免费精品视频| 亚洲国产精品久久人人爱蜜臀| 日韩午夜在线播放| 不卡av免费在线观看| 日韩精品欧美精品| 国产精品人妖ts系列视频 | 欧美优质美女网站| 久久aⅴ国产欧美74aaa| 亚洲欧美偷拍卡通变态| 欧美一区二区在线不卡| 99精品国产热久久91蜜凸| 五月天亚洲精品| 国产精品日韩精品欧美在线| 日韩欧美久久久| 欧美在线看片a免费观看| 国产精品一区二区黑丝| 天堂蜜桃91精品| 亚洲色欲色欲www在线观看| 日韩精品资源二区在线| 在线中文字幕一区| 岛国精品一区二区| 捆绑紧缚一区二区三区视频| 亚洲成人一二三| 亚洲日本在线看| 国产精品色噜噜| 精品三级在线观看| 欧美日韩一区国产| 91看片淫黄大片一级| 成人丝袜18视频在线观看| 久久aⅴ国产欧美74aaa| 午夜精品福利久久久| 夜夜精品视频一区二区| 国产精品国产精品国产专区不片| 337p粉嫩大胆噜噜噜噜噜91av| 欧美美女一区二区| 色噜噜偷拍精品综合在线| 成人黄色av网站在线| 国产一区二区三区免费看| 奇米色一区二区| 日本不卡一区二区三区高清视频| 亚洲电影第三页| 一区二区三区四区av| 中文字幕中文乱码欧美一区二区| 国产午夜精品福利| 欧美精品一区二区久久久| 日韩精品一区二区三区四区视频 | 97精品超碰一区二区三区| 国产福利一区二区三区视频| 精品综合久久久久久8888| 日本在线不卡一区| 日本亚洲一区二区| 视频一区二区三区中文字幕| 五月天激情综合网| 午夜久久久影院| 丝袜美腿亚洲色图| 性久久久久久久| 日本三级亚洲精品| 老司机免费视频一区二区| 精彩视频一区二区三区| 国产一区二三区| 国产成人在线视频网址| 成人黄色片在线观看| 99精品桃花视频在线观看| 色综合天天综合色综合av| 欧洲精品中文字幕| 欧美精品三级在线观看| 日韩欧美国产一区在线观看| 精品国产免费久久| 国产欧美视频在线观看| 国产精品久久毛片av大全日韩| 亚洲桃色在线一区| 亚洲一区二区视频| 男男成人高潮片免费网站| 国产麻豆视频精品| 北条麻妃国产九九精品视频| 欧美亚洲精品一区| 4438x成人网最大色成网站| 日韩免费视频一区二区| 国产女主播一区| 一区二区三区在线免费视频| 男人的j进女人的j一区| 国产成人精品亚洲777人妖| 99re66热这里只有精品3直播| 欧美日韩国产中文| 久久人人爽人人爽| 一区二区视频在线看| 免费在线观看视频一区| 成人午夜免费电影| 欧美怡红院视频| 欧美xxxxx裸体时装秀| 日韩一区在线免费观看| 首页国产欧美久久| 国产suv精品一区二区883| 欧美性xxxxx极品少妇| 精品国产免费人成电影在线观看四季| 国产精品传媒入口麻豆| 日韩电影在线看| voyeur盗摄精品| 日韩精品影音先锋| 亚洲乱码国产乱码精品精的特点| 午夜精品免费在线| 成人国产亚洲欧美成人综合网| 欧美另类videos死尸| 日本一区二区三区dvd视频在线| 性久久久久久久久久久久| 99久久久久久| 久久精品视频在线看| 亚洲国产精品一区二区久久恐怖片| 国产一区二区精品久久| 欧美人体做爰大胆视频| 国产精品久久久久久久久晋中 | 亚洲国产一二三| 国产宾馆实践打屁股91| 欧美成人精品福利| 一区二区三区在线观看动漫| 成人午夜碰碰视频| 久久青草欧美一区二区三区| 蜜臀av亚洲一区中文字幕| 欧美探花视频资源| 国产精品成人一区二区艾草| 国产成人午夜片在线观看高清观看| 91精品久久久久久久久99蜜臂| 亚洲欧美另类小说视频| bt欧美亚洲午夜电影天堂| 亚洲精品一区二区在线观看| 日本视频一区二区| 欧美精品乱码久久久久久| 一二三四区精品视频| 色老综合老女人久久久| 国产精品国产三级国产普通话蜜臀| 国产福利精品一区二区| 精品国内二区三区| 极品尤物av久久免费看| 欧美一卡二卡在线观看| 日韩国产精品久久久久久亚洲| 欧美日韩日日摸| 亚洲成人综合视频| 欧美日本在线看| 五月天激情小说综合| 91精品国模一区二区三区| 日韩精品色哟哟| 日韩欧美你懂的| 国产乱码字幕精品高清av| 337p粉嫩大胆色噜噜噜噜亚洲| 国产精品亚洲视频| 中文字幕成人av| 91网上在线视频| 一区二区成人在线| 欧美精品一卡二卡| 蜜臀av一级做a爰片久久| 精品国产一区二区三区av性色| 国内精品伊人久久久久av一坑 | 国产一区二区不卡| 国产午夜亚洲精品理论片色戒 | 亚洲午夜电影网| 日韩一区二区三区电影| 精品一区二区三区免费视频| 久久日韩粉嫩一区二区三区| a亚洲天堂av| 亚洲激情一二三区| 欧美色视频一区| 另类的小说在线视频另类成人小视频在线| 日韩欧美视频在线| 国产福利一区二区三区| 日韩久久一区二区| 欧美人妖巨大在线| 国内精品免费**视频| 国产精品色呦呦| 欧美日韩精品一区二区天天拍小说 | 色综合天天综合狠狠| 亚洲国产精品尤物yw在线观看| 欧美成人精品高清在线播放 |