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

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

?? mobilenode.cc

?? 這個市一個ns環境下的leach算法!大家可以多下在啊!我想要一個matlab環境下的概算法!
?? CC
?? 第 1 頁 / 共 2 頁
字號:
/*-*-	Mode:C++; c-basic-offset:8; tab-width:8; indent-tabs-mode:t -*-  * * Copyright (c) 1997 Regents of the University of California. * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright *    notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright *    notice, this list of conditions and the following disclaimer in the *    documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software *    must display the following acknowledgement: *	This product includes software developed by the Computer Systems *	Engineering Group at Lawrence Berkeley Laboratory. * 4. Neither the name of the University nor of the Laboratory may be used *    to endorse or promote products derived from this software without *    specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * $Header: /nfs/jade/vint/CVSROOT/ns-2/common/mobilenode.cc,v 1.34 2003/12/23 17:36:32 haldar Exp $ * * Code in this file will be changed in the near future. From now on it  * should be treated as for backward compatibility only, although it is in * active use by many other code in ns. - Aug 29, 2000 *//*  * CMU-Monarch project's Mobility extensions ported by Padma Haldar,  * 11/98. */#include <math.h>#include <stdlib.h>#include "connector.h"#include "delay.h"#include "packet.h"#include "random.h"#include "trace.h"#include "address.h"#include "arp.h"#include "topography.h"#include "ll.h"#include "mac.h"#include "propagation.h"#include "mobilenode.h"#include "phy.h"#include "wired-phy.h"#include "god.h"// XXX Must supply the first parameter in the macro otherwise msvc// is unhappy. static LIST_HEAD(_dummy_MobileNodeList, MobileNode) nodehead = { 0 };static class MobileNodeClass : public TclClass {public:        MobileNodeClass() : TclClass("Node/MobileNode") {}        TclObject* create(int, const char*const*) {                return (new MobileNode);        }} class_mobilenode;/* *  PositionHandler() * *  Updates the position of a mobile node every N seconds, where N is *  based upon the speed of the mobile and the resolution of the topography. * */voidPositionHandler::handle(Event*){	Scheduler& s = Scheduler::instance();#if 0	fprintf(stderr, "*** POSITION HANDLER for node %d (time: %f) ***\n",		node->address(), s.clock());#endif	/*	 * Update current location	 */	node->update_position();	/*	 * Choose a new random speed and direction	 */#ifdef DEBUG        fprintf(stderr, "%d - %s: calling random_destination()\n",                node->address_, __PRETTY_FUNCTION__);#endif	node->random_destination();	s.schedule(&node->pos_handle_, &node->pos_intr_,		   node->position_update_interval_);}/* ======================================================================   Mobile Node   ====================================================================== */MobileNode::MobileNode(void) : 	pos_handle_(this){	X_ = Y_ = Z_ = speed_ = 0.0;	dX_ = dY_ = dZ_ = 0.0;	destX_ = destY_ = 0.0;	random_motion_ = 0;	base_stn_ = -1;	T_ = 0;	log_target_ = 0;	next_ = 0;	radius_ = 0;	position_update_interval_ = POSITION_UPDATE_INTERVAL;	position_update_time_ = 0.0;		LIST_INSERT_HEAD(&nodehead, this, link_);	// node list	LIST_INIT(&ifhead_);				// interface list	bind("X_", &X_);	bind("Y_", &Y_);	bind("Z_", &Z_);	bind("speed_", &speed_);	}intMobileNode::command(int argc, const char*const* argv){	Tcl& tcl = Tcl::instance();	if(argc == 2) {		if(strcmp(argv[1], "start") == 0) {		        start();			return TCL_OK;		} else if(strcmp(argv[1], "log-movement") == 0) {#ifdef DEBUG                        fprintf(stderr,                                "%d - %s: calling update_position()\n",                                address_, __PRETTY_FUNCTION__);#endif		        update_position();		        log_movement();			return TCL_OK;		} else if(strcmp(argv[1], "log-energy") == 0) {			log_energy(1);			return TCL_OK;		} else if(strcmp(argv[1], "powersaving") == 0) {			energy_model()->powersavingflag() = 1;			energy_model()->start_powersaving();			return TCL_OK;		} else if(strcmp(argv[1], "adaptivefidelity") == 0) {			energy_model()->adaptivefidelity() = 1;			energy_model()->powersavingflag() = 1;			energy_model()->start_powersaving();			return TCL_OK;		} else if (strcmp(argv[1], "energy") == 0) {			Tcl& tcl = Tcl::instance();			tcl.resultf("%f", energy_model()->energy());			return TCL_OK;		} else if (strcmp(argv[1], "adjustenergy") == 0) {			// assume every 10 sec schedule and 1.15 W 			// idle energy consumption. needs to be			// parameterized.			idle_energy_patch(10, 1.15);			energy_model()->total_sndtime() = 0;			energy_model()->total_rcvtime() = 0;			energy_model()->total_sleeptime() = 0;			return TCL_OK;		} else if (strcmp(argv[1], "on") == 0) {			energy_model()->node_on() = true;			tcl.evalf("%s set netif_(0)", name_);			const char *str = tcl.result();			tcl.evalf("%s NodeOn", str);			God::instance()->ComputeRoute();			return TCL_OK;		} else if (strcmp(argv[1], "off") == 0) {			energy_model()->node_on() = false;			tcl.evalf("%s set netif_(0)", name_);			const char *str = tcl.result();			tcl.evalf("%s NodeOff", str);			tcl.evalf("%s set ragent_", name_);			str = tcl.result();			tcl.evalf("%s reset-state", str);			God::instance()->ComputeRoute();		     	return TCL_OK;		} else if (strcmp(argv[1], "shutdown") == 0) {			// set node state			//Phy *p;			energy_model()->node_on() = false;						//p = ifhead().lh_first;			//if (p) ((WirelessPhy *)p)->node_off();			return TCL_OK;		} else if (strcmp(argv[1], "startup") == 0) {			energy_model()->node_on() = true;			return TCL_OK;		}		} else if(argc == 3) {		if(strcmp(argv[1], "addif") == 0) {			WiredPhy* phyp = (WiredPhy*)TclObject::lookup(argv[2]);			if(phyp == 0)				return TCL_ERROR;			phyp->insertnode(&ifhead_);			phyp->setnode(this);			return TCL_OK;		} else if (strcmp(argv[1], "setsleeptime") == 0) {			energy_model()->afe()->set_sleeptime(atof(argv[2]));			energy_model()->afe()->set_sleepseed(atof(argv[2]));			return TCL_OK;		} else if (strcmp(argv[1], "setenergy") == 0) {			energy_model()->setenergy(atof(argv[2]));			return TCL_OK;		} else if (strcmp(argv[1], "settalive") == 0) {			energy_model()->max_inroute_time() = atof(argv[2]);			return TCL_OK;		} else if (strcmp(argv[1], "maxttl") == 0) {			energy_model()->maxttl() = atoi(argv[2]);			return TCL_OK;		} else if(strcmp(argv[1], "radius") == 0) {                        radius_ = strtod(argv[2],NULL);                        return TCL_OK;                } else if(strcmp(argv[1], "random-motion") == 0) {			random_motion_ = atoi(argv[2]);			return TCL_OK;		} else if(strcmp(argv[1], "addif") == 0) {			WirelessPhy *n = (WirelessPhy*)				TclObject::lookup(argv[2]);			if(n == 0)				return TCL_ERROR;			n->insertnode(&ifhead_);			n->setnode(this);			return TCL_OK;		} else if(strcmp(argv[1], "topography") == 0) {			T_ = (Topography*) TclObject::lookup(argv[2]);			if (T_ == 0)				return TCL_ERROR;			return TCL_OK;		} else if(strcmp(argv[1], "log-target") == 0) {			log_target_ = (Trace*) TclObject::lookup(argv[2]);			if (log_target_ == 0)				return TCL_ERROR;			return TCL_OK;		} else if (strcmp(argv[1],"base-station") == 0) {			base_stn_ = atoi(argv[2]);			if(base_stn_ == -1)				return TCL_ERROR;			return TCL_OK;		} 	} else if (argc == 4) {		if (strcmp(argv[1], "idleenergy") == 0) {			idle_energy_patch(atof(argv[2]),atof(argv[3]));			return TCL_OK;		}	} else if (argc == 5) {		if (strcmp(argv[1], "setdest") == 0) { 			/* <mobilenode> setdest <X> <Y> <speed> */#ifdef DEBUG			fprintf(stderr, "%d - %s: calling set_destination()\n",				address_, __FUNCTION__);#endif  			if (set_destination(atof(argv[2]), atof(argv[3]), 					    atof(argv[4])) < 0)				return TCL_ERROR;			return TCL_OK;		}	}	return Node::command(argc, argv);}/* ======================================================================   Other class functions   ====================================================================== */voidMobileNode::dump(void){	Phy *n;	fprintf(stdout, "Index: %d\n", address_);	fprintf(stdout, "Network Interface List\n"); 	for(n = ifhead_.lh_first; n; n = n->nextnode() )		n->dump();		fprintf(stdout, "--------------------------------------------------\n");}/* ======================================================================

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品综合在线| 成+人+亚洲+综合天堂| 国产精品一区二区在线观看网站| 成人综合婷婷国产精品久久| 日本国产一区二区| 国产精品欧美久久久久无广告| 亚洲 欧美综合在线网络| 成人av在线资源| 欧美mv和日韩mv国产网站| 亚洲综合色婷婷| 国产成人精品www牛牛影视| 这里是久久伊人| 亚洲免费在线观看视频| 国产激情一区二区三区桃花岛亚洲| 欧美一区二区观看视频| 亚洲一级二级三级| 91免费在线播放| 中文字幕国产一区| 国产福利视频一区二区三区| 欧美精品一区二区在线观看| 午夜欧美大尺度福利影院在线看 | 91蝌蚪porny成人天涯| 精品美女一区二区| 蜜臀va亚洲va欧美va天堂| 欧美日韩电影在线| 日精品一区二区三区| 欧美美女网站色| 日日摸夜夜添夜夜添国产精品| 日本久久精品电影| 亚洲综合丝袜美腿| 欧美日韩视频不卡| 亚洲成人动漫av| 欧美日韩国产一级片| 天天操天天干天天综合网| 欧美日韩国产高清一区二区三区| 亚洲最新视频在线播放| 欧美吻胸吃奶大尺度电影| 亚洲国产精品久久人人爱蜜臀| 91国内精品野花午夜精品| 亚洲午夜精品网| 欧美日韩成人在线| 精品一区二区免费视频| 国产人久久人人人人爽| 成人a区在线观看| 一区二区国产视频| 欧美精品色一区二区三区| 亚洲成人动漫在线观看| 日韩欧美电影一二三| 韩国精品久久久| 日本一区二区动态图| 99国产精品国产精品久久| 亚洲一区二区视频| 精品日本一线二线三线不卡| 国产二区国产一区在线观看| 中文字幕一区av| 欧美亚洲国产一卡| 毛片av一区二区| 欧美激情在线看| 欧美三级三级三级爽爽爽| 日韩精品91亚洲二区在线观看 | 色狠狠色狠狠综合| 日本不卡中文字幕| 国产日韩欧美精品电影三级在线| 91亚洲精品久久久蜜桃| 亚洲成人资源在线| www一区二区| 欧美主播一区二区三区美女| 久久精品国产秦先生| 国产精品灌醉下药二区| 欧美久久久久免费| 懂色av中文字幕一区二区三区 | 91精品国产综合久久福利| 国产精品一区二区久久不卡| 亚洲一区二区av在线| 久久久噜噜噜久噜久久综合| 色综合天天性综合| 国产精品一区三区| 丝袜诱惑制服诱惑色一区在线观看| 中文幕一区二区三区久久蜜桃| 欧美日韩一区在线观看| 国产精品18久久久久| 亚洲成人先锋电影| 亚洲视频香蕉人妖| 久久综合给合久久狠狠狠97色69| 欧美亚洲综合在线| 成人av网站在线| 国精品**一区二区三区在线蜜桃| 亚洲成av人**亚洲成av**| 国产精品全国免费观看高清| 欧美一级午夜免费电影| 91国产视频在线观看| 夫妻av一区二区| 国产成人免费视频精品含羞草妖精 | 亚洲午夜三级在线| 国产精品视频麻豆| 欧美一区二区三区四区在线观看| 一本大道综合伊人精品热热| 国产在线精品一区二区| 青青草97国产精品免费观看无弹窗版 | 亚洲自拍偷拍网站| 中文字幕在线观看不卡| 国产午夜精品久久| 久久日韩粉嫩一区二区三区| 9191成人精品久久| 欧美日韩dvd在线观看| 欧美日韩亚洲高清一区二区| 色先锋资源久久综合| 99九九99九九九视频精品| 国产高清不卡一区| 成人午夜免费视频| 99在线精品一区二区三区| 成人午夜电影小说| 成人午夜免费视频| 91玉足脚交白嫩脚丫在线播放| av一区二区三区四区| www.亚洲免费av| eeuss鲁一区二区三区| 99久久国产综合精品麻豆| 粉嫩蜜臀av国产精品网站| 成人av电影在线观看| 97久久人人超碰| 色8久久精品久久久久久蜜| 欧美综合一区二区| 欧美高清性hdvideosex| 51久久夜色精品国产麻豆| 日韩欧美三级在线| 精品国产乱码久久久久久蜜臀| 久久久久久久久久电影| 亚洲国产成人自拍| 国产精品家庭影院| 亚洲一区精品在线| 日产国产欧美视频一区精品| 免费看黄色91| 国产传媒一区在线| 色噜噜狠狠色综合欧洲selulu| 欧美伦理电影网| 精品久久久久香蕉网| 国产精品精品国产色婷婷| 一区二区三区在线视频免费| 日韩电影在线免费看| 国产一区二区三区不卡在线观看| 国产aⅴ精品一区二区三区色成熟| 99这里都是精品| 在线播放国产精品二区一二区四区| 欧美成人r级一区二区三区| 国产人成一区二区三区影院| 亚洲在线视频一区| 国产在线播放一区二区三区| 91免费看片在线观看| 日韩一区二区免费在线电影| 国产三级久久久| 五月天国产精品| 不卡欧美aaaaa| 337p亚洲精品色噜噜狠狠| 国产亚洲视频系列| 亚洲国产裸拍裸体视频在线观看乱了 | 99久久精品99国产精品| 欧美日韩精品一区二区| 国产日韩欧美在线一区| 亚洲成av人影院| 国产不卡高清在线观看视频| 欧美高清视频一二三区| 国产日韩精品视频一区| 日韩电影在线一区二区| 99国产精品国产精品久久| 日韩欧美色综合| 亚洲图片有声小说| 波多野结衣亚洲一区| 91精品国产一区二区人妖| 自拍偷自拍亚洲精品播放| 国产在线观看免费一区| 欧美猛男gaygay网站| 中文字幕日韩一区| 韩国精品久久久| 日韩欧美成人一区二区| 亚洲综合成人在线视频| 99久久精品久久久久久清纯| 日韩精品中文字幕一区二区三区| 亚洲黄色av一区| 99久久婷婷国产精品综合| 精品福利一二区| 日韩精品视频网站| 精品视频一区三区九区| 亚洲欧美色一区| 99re这里只有精品首页| 日本一区二区三区四区在线视频| 久久国产精品99精品国产 | 欧美午夜免费电影| 最新成人av在线| 99久久99久久精品免费观看 | 日韩欧美亚洲国产另类| 日日摸夜夜添夜夜添亚洲女人| 欧美亚洲禁片免费| 亚洲一卡二卡三卡四卡五卡| 一本色道a无线码一区v| 亚洲黄色小说网站| 色天天综合久久久久综合片| 亚洲精品视频免费观看| 91影院在线免费观看| 亚洲柠檬福利资源导航|