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

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

?? aodv_rqueue.cc

?? linux平臺下,在ns2里面實現的基于價格的分布式優化算法源代碼
?? CC
字號:
/*Copyright (c) 1997, 1998 Carnegie Mellon University.  All RightsReserved. Permission to use, copy, modify, and distribute thissoftware and its documentation is hereby granted (including forcommercial or for-profit use), provided that both the copyright notice and this permission notice appear in all copies of the software, derivative works, or modified versions, and any portions thereof, and that both notices appear in supporting documentation, and that credit is given to Carnegie Mellon University in all publications reporting on direct or indirect use of this code or its derivatives.ALL CODE, SOFTWARE, PROTOCOLS, AND ARCHITECTURES DEVELOPED BY THE CMUMONARCH PROJECT ARE EXPERIMENTAL AND ARE KNOWN TO HAVE BUGS, SOME OFWHICH MAY HAVE SERIOUS CONSEQUENCES. CARNEGIE MELLON PROVIDES THISSOFTWARE OR OTHER INTELLECTUAL PROPERTY IN ITS ``AS IS'' CONDITION,AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULARPURPOSE ARE DISCLAIMED. IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITYBE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, ORCONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OFSUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; ORBUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCEOR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE ORINTELLECTUAL PROPERTY, EVEN IF ADVISED OF THE POSSIBILITY OF SUCHDAMAGE.Carnegie Mellon encourages (but does not require) users of thissoftware or intellectual property to return any improvements orextensions that they make, and to grant Carnegie Mellon the rights to redistribute these changes without encumbrance.The AODV code developed by the CMU/MONARCH group was optimized and tuned by Samir Das and Mahesh Marina, University of Cincinnati. The work was partially done in Sun Microsystems.*/#include <assert.h>#include <cmu-trace.h>#include <aodv/aodv_rqueue.h>#define CURRENT_TIME    Scheduler::instance().clock()#define QDEBUG/*  Packet Queue used by AODV.*/aodv_rqueue::aodv_rqueue() {  head_ = tail_ = 0;  len_ = 0;  limit_ = AODV_RTQ_MAX_LEN;  timeout_ = AODV_RTQ_TIMEOUT;}voidaodv_rqueue::enque(Packet *p) {struct hdr_cmn *ch = HDR_CMN(p); /*  * Purge any packets that have timed out.  */ purge();  p->next_ = 0; ch->ts_ = CURRENT_TIME + timeout_; if (len_ == limit_) { Packet *p0 = remove_head();	// decrements len_   assert(p0);   if(HDR_CMN(p0)->ts_ > CURRENT_TIME) {     drop(p0, DROP_RTR_QFULL);   }   else {     drop(p0, DROP_RTR_QTIMEOUT);   } }  if(head_ == 0) {   head_ = tail_ = p; } else {   tail_->next_ = p;   tail_ = p; } len_++;#ifdef QDEBUG   verifyQueue();#endif // QDEBUG}                Packet*aodv_rqueue::deque() {Packet *p; /*  * Purge any packets that have timed out.  */ purge(); p = remove_head();#ifdef QDEBUG verifyQueue();#endif // QDEBUG return p;}Packet*aodv_rqueue::deque(nsaddr_t dst) {Packet *p, *prev; /*  * Purge any packets that have timed out.  */ purge(); findPacketWithDst(dst, p, prev); assert(p == 0 || (p == head_ && prev == 0) || (prev->next_ == p)); if(p == 0) return 0; if (p == head_) {   p = remove_head(); } else if (p == tail_) {   prev->next_ = 0;   tail_ = prev;   len_--; } else {   prev->next_ = p->next_;   len_--; }#ifdef QDEBUG verifyQueue();#endif // QDEBUG return p;}char aodv_rqueue::find(nsaddr_t dst) {Packet *p, *prev;  	 findPacketWithDst(dst, p, prev); if (0 == p)   return 0; else   return 1;}		/*  Private Routines*/Packet*aodv_rqueue::remove_head() {Packet *p = head_;         if(head_ == tail_) {   head_ = tail_ = 0; } else {   head_ = head_->next_; } if(p) len_--; return p;}voidaodv_rqueue::findPacketWithDst(nsaddr_t dst, Packet*& p, Packet*& prev) {    p = prev = 0;  for(p = head_; p; p = p->next_) {	  //		if(HDR_IP(p)->dst() == dst) {	       if(HDR_IP(p)->daddr() == dst) {      return;    }    prev = p;  }}voidaodv_rqueue::verifyQueue() {Packet *p, *prev = 0;int cnt = 0; for(p = head_; p; p = p->next_) {   cnt++;   prev = p; } assert(cnt == len_); assert(prev == tail_);}/*voidaodv_rqueue::purge() {Packet *p; while((p = head_) && HDR_CMN(p)->ts_ < CURRENT_TIME) {   // assert(p == remove_head());        p = remove_head();        drop(p, DROP_RTR_QTIMEOUT); }}*/boolaodv_rqueue::findAgedPacket(Packet*& p, Packet*& prev) {    p = prev = 0;  for(p = head_; p; p = p->next_) {    if(HDR_CMN(p)->ts_ < CURRENT_TIME) {      return true;    }    prev = p;  }  return false;}voidaodv_rqueue::purge() {Packet *p, *prev; while ( findAgedPacket(p, prev) ) { 	assert(p == 0 || (p == head_ && prev == 0) || (prev->next_ == p)); 	if(p == 0) return; 	if (p == head_) {   		p = remove_head(); 	} 	else if (p == tail_) {   		prev->next_ = 0;   		tail_ = prev;   		len_--; 	} 	else {   		prev->next_ = p->next_;   		len_--; 	}#ifdef QDEBUG 	verifyQueue();#endif // QDEBUG	p = prev = 0; }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线播放91灌醉迷j高跟美女| 国产综合久久久久久鬼色| 日本一不卡视频| 高清免费成人av| 5月丁香婷婷综合| 中文字幕一区日韩精品欧美| 蜜臀va亚洲va欧美va天堂 | 99riav久久精品riav| 欧美色视频在线| 国产精品女人毛片| 国产主播一区二区| 日韩亚洲欧美综合| 夜夜揉揉日日人人青青一国产精品| 国产精品一区在线| 欧美一区二区三区免费观看视频| 一区二区三区在线观看欧美| 成人综合在线网站| 久久嫩草精品久久久久| 日本强好片久久久久久aaa| 91福利小视频| 日韩国产一区二| 欧美综合亚洲图片综合区| 中文文精品字幕一区二区| 久久99久久99| 欧美成人伊人久久综合网| 日韩1区2区3区| 91精品在线免费| 日韩av网站免费在线| 欧美亚洲一区二区在线观看| 亚洲日穴在线视频| 一本色道久久加勒比精品 | 经典三级在线一区| 欧美一级高清片| 日本不卡视频在线| 日韩一区二区在线看| 精品福利av导航| 日韩一区二区精品| 在线一区二区三区做爰视频网站| 麻豆精品一区二区综合av| 国产精品理伦片| 激情久久五月天| www亚洲一区| 国产成人精品免费视频网站| 欧美韩国一区二区| 成人一二三区视频| 亚洲天堂精品在线观看| 日本精品视频一区二区三区| 亚洲午夜精品在线| 欧美日韩国产美| 久久电影网站中文字幕| 久久婷婷一区二区三区| 成人精品免费看| 亚洲精品视频在线观看网站| 欧美老年两性高潮| 狠狠色综合播放一区二区| 最好看的中文字幕久久| 亚洲人成7777| 成人av免费在线观看| 亚洲欧美精品午睡沙发| 欧美日韩国产区一| 国产美女在线观看一区| 国产精品久久久久久久久果冻传媒| 91视频国产资源| 视频一区二区中文字幕| 久久久久成人黄色影片| 91亚洲精品乱码久久久久久蜜桃 | 日韩av电影天堂| 国产日韩欧美综合在线| 在线观看免费一区| 久久aⅴ国产欧美74aaa| 亚洲少妇30p| 91精品国产一区二区三区| 国产精品一区二区果冻传媒| 一区二区三区四区亚洲| 精品日韩欧美在线| 91福利精品第一导航| 国产亚洲1区2区3区| 亚洲美女精品一区| 国产精品黄色在线观看| 福利一区二区在线| 性久久久久久久久久久久| 国产校园另类小说区| 欧美军同video69gay| 国产成人精品三级| 午夜成人免费电影| **欧美大码日韩| 精品国产91乱码一区二区三区| 91精品1区2区| 成人av免费在线| 国产乱人伦偷精品视频免下载| 亚洲成av人片一区二区三区| 国产精品久久久久久久久久久免费看 | 欧美在线观看一二区| 国产欧美综合在线观看第十页| 日韩精品一区国产麻豆| 色哟哟一区二区三区| 国产精品一区二区你懂的| 天天色综合成人网| 一区二区欧美视频| 综合久久综合久久| 国产人久久人人人人爽| 欧美成人a在线| 这里是久久伊人| 欧美天堂亚洲电影院在线播放| 99久久综合精品| aaa亚洲精品一二三区| 国产福利视频一区二区三区| 黄色小说综合网站| 韩国一区二区在线观看| 久久国产视频网| 久久99九九99精品| 国内精品久久久久影院色| 麻豆国产精品视频| 麻豆精品久久精品色综合| 卡一卡二国产精品 | 国模一区二区三区白浆| 久久国产精品99精品国产| 美腿丝袜亚洲一区| 久久av资源网| 国产91色综合久久免费分享| 国产999精品久久| 91视频国产资源| 欧美在线制服丝袜| 欧美精品乱码久久久久久| 欧美一区二区三区思思人| 91麻豆精品国产91久久久使用方法| 欧美日韩国产一级片| 91精品在线观看入口| 精品国产乱码久久久久久久| 久久久99免费| 亚洲欧美日韩国产一区二区三区 | 91久久奴性调教| 欧美色视频在线| 欧美成人一区二区三区片免费| 精品伦理精品一区| 国产精品乱码一区二区三区软件 | 欧美mv日韩mv| 久久精品视频网| 综合欧美一区二区三区| 久久久久久久久免费| 国产精品久久久久三级| 丁香另类激情小说| 国产91富婆露脸刺激对白| 99视频一区二区三区| 日本韩国精品在线| 欧美一区二区三区免费大片 | 麻豆一区二区99久久久久| 黄色小说综合网站| 色综合亚洲欧洲| 欧美成人福利视频| 亚洲欧美综合另类在线卡通| 亚洲18色成人| 国产成人免费9x9x人网站视频| 色婷婷综合久久久中文一区二区| 91精品国产欧美一区二区18| 欧美激情在线看| 天堂午夜影视日韩欧美一区二区| 国产综合色在线| 欧美日韩一区三区四区| 久久天堂av综合合色蜜桃网| 亚洲自拍偷拍网站| 国产乱子轮精品视频| 欧美日韩精品一二三区| 国产精品无遮挡| 91在线国产福利| 97精品视频在线观看自产线路二| 中文字幕精品一区二区精品绿巨人| 亚洲欧美在线视频| 全部av―极品视觉盛宴亚洲| 99国产欧美久久久精品| 日韩一区二区免费电影| 亚洲一区二区三区在线| 国产1区2区3区精品美女| 欧美高清视频一二三区| 亚洲欧美国产高清| 国产精品一区二区三区99| 91精品午夜视频| 一区二区三区四区中文字幕| 成人手机电影网| 久久综合五月天婷婷伊人| 日韩一区精品视频| 欧美综合一区二区| 亚洲日本乱码在线观看| 成人午夜激情视频| 精品国产第一区二区三区观看体验| 香蕉乱码成人久久天堂爱免费| 97se亚洲国产综合在线| 国产精品蜜臀av| 国产成人亚洲综合色影视| 精品日本一线二线三线不卡| 日韩成人伦理电影在线观看| 国产精品99久久不卡二区| 亚洲国产综合在线| 日韩欧美精品在线| 老司机精品视频线观看86| 1024成人网| 黑人巨大精品欧美黑白配亚洲| 91精品午夜视频| 奇米精品一区二区三区在线观看| 欧美日韩国产三级|