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

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

?? routecache.cc

?? 修改的dsr源文件,需要的趕快下載啦
?? CC
字號:
/* * routecache.cc * Copyright (C) 2000 by the University of Southern California * $Id: routecache.cc,v 1.7 2005/08/25 18:58:05 johnh Exp $ * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License, * version 2, as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. * * * The copyright of this module includes the following * linking-with-specific-other-licenses addition: * * In addition, as a special exception, the copyright holders of * this module give you permission to combine (via static or * dynamic linking) this module with free software programs or * libraries that are released under the GNU LGPL and with code * included in the standard release of ns-2 under the Apache 2.0 * license or under otherwise-compatible licenses with advertising * requirements (or modified versions of such code, with unchanged * license).  You may copy and distribute such a system following the * terms of the GNU GPL for this module and the licenses of the * other code concerned, provided that you include the source code of * that other code when and as the GNU GPL requires distribution of * source code. * * Note that people who make modified versions of this module * are not obligated to grant this special exception for their * modified versions; it is their choice whether to do so.  The GNU * General Public License gives permission to release a modified * version without this exception; this exception also makes it * possible to release a modified version which carries forward this * exception. * *//* * Ported from CMU/Monarch's code, appropriate copyright applies.   * routecache.cc *   handles routes */extern "C" {#include <stdio.h>#include <stdarg.h>};#undef DEBUG#include "path.h"#include "routecache.h"#include <god.h>static const int verbose_debug = 0;/*===============================================================  OTcl definition----------------------------------------------------------------*/static class RouteCacheClass : public TclClass {public:        RouteCacheClass() : TclClass("RouteCache") {}        TclObject* create(int, const char*const*) {                return makeRouteCache();        }} class_RouteCache;/*=============================================================== Constructors----------------------------------------------------------------*/RouteCache::RouteCache():#ifdef DSR_CACHE_STATS	mh(this),#endif	MAC_id(invalid_addr), net_id(invalid_addr){#ifdef DSR_CACHE_STATS	stat.reset();#endif}RouteCache::~RouteCache(){}intRouteCache::command(int argc, const char*const* argv){  if(argc == 2)    {      if(strcasecmp(argv[1], "startdsr") == 0)	{#ifdef DSR_CACHE_STATS	  mh.start();#endif	  return TCL_OK;	}    }  else if(argc == 3)     {          if (strcasecmp(argv[1], "ip-addr") == 0) {	net_id = ID(atoi(argv[2]), ::IP);	return TCL_OK;      }      else if(strcasecmp(argv[1], "mac-addr") == 0) {	MAC_id = ID(atoi(argv[2]), ::MAC);      return TCL_OK;      }            /* must be a looker up */      TclObject *obj = (TclObject*) TclObject::lookup(argv[2]);      if(obj == 0)	return TCL_ERROR;            if(strcasecmp(argv[1], "log-target") == 0 || 	 strcasecmp(argv[1], "tracetarget") == 0) {	logtarget = (Trace*) obj;	return TCL_OK;      }      return TCL_ERROR;    }    return TclObject::command(argc, argv);}voidRouteCache::trace(char* fmt, ...){  va_list ap;    if (!logtarget) return;  va_start(ap, fmt);  vsprintf(logtarget->pt_->buffer(), fmt, ap);  logtarget->pt_->dump();  va_end(ap);}voidRouteCache::dump(FILE *out){  fprintf(out, "Route cache dump unimplemented\n");  fflush(out);}///////////////////////////////////////////////////////////////////////////extern bool cache_ignore_hints;extern bool cache_use_overheard_routes;#define STOP_PROCESSING 0#define CONT_PROCESSING 1intRouteCache::pre_addRoute(const Path& route, Path& rt,			 Time t, const ID& who_from){  assert(!(net_id == invalid_addr));    if (route.length() < 2)    return STOP_PROCESSING; // we laugh in your face  if(verbose_debug)    trace("SRC %.9f _%s_ adding rt %s from %s",	  Scheduler::instance().clock(), net_id.dump(),	  route.dump(), who_from.dump());  if (route[0] != net_id && route[0] != MAC_id)     {      fprintf(stderr,"%.9f _%s_ adding bad route to cache %s %s\n",	      t, net_id.dump(), who_from.dump(), route.dump());      return STOP_PROCESSING;    }	       rt = (Path&) route;	// cast away const Path&  rt.owner() = who_from;  Link_Type kind = LT_TESTED;  for (int c = 0; c < rt.length(); c++)    {      rt[c].log_stat = LS_UNLOGGED;      if (rt[c] == who_from) kind = LT_UNTESTED; // remaining ids came from $      rt[c].link_type = kind;      rt[c].t = t;    }  return CONT_PROCESSING;}intRouteCache::pre_noticeRouteUsed(const Path& p, Path& stub,				Time t, const ID& who_from){  int c;  bool first_tested = true;  if (p.length() < 2)	  return STOP_PROCESSING;  if (cache_ignore_hints == true)	  return STOP_PROCESSING;  for (c = 0; c < p.length() ; c++) {	  if (p[c] == net_id || p[c] == MAC_id) break;  }  if (c == p.length() - 1)	  return STOP_PROCESSING; // path contains only us  if (c == p.length()) { // we aren't in the path...	  if (cache_use_overheard_routes) {		  // assume a link from us to the person who		  // transmitted the packet		  if (p.index() == 0) {			   /* must be a route request */			  return STOP_PROCESSING;		  }		  stub.reset();		  stub.appendToPath(net_id);		  int i = p.index() - 1;		  for ( ; i < p.length() && !stub.full() ; i++) {			  stub.appendToPath(p[i]);		  }		  // link to xmiter might be unidirectional		  first_tested = false;	  }	  else {		  return STOP_PROCESSING;	  }  }  else { // we are in the path, extract the subpath	  CopyIntoPath(stub, p, c, p.length() - 1);  }  Link_Type kind = LT_TESTED;  for (c = 0; c < stub.length(); c++) {	  stub[c].log_stat = LS_UNLOGGED;	   // remaining ids came from $	  if (stub[c] == who_from)		  kind = LT_UNTESTED;	  stub[c].link_type = kind;	  stub[c].t = t;  }  if (first_tested == false)	  stub[0].link_type = LT_UNTESTED;  return CONT_PROCESSING;}#undef STOP_PROCESSING#undef CONT_PROCESSING//////////////////////////////////////////////////////////////////////#ifdef DSR_CACHE_STATSvoidMobiHandler::handle(Event *) {        cache->periodic_checkCache();        Scheduler::instance().schedule(this, &intr, interval);}intRouteCache::checkRoute_logall(Path *p, int action, int start){  int c;  int subroute_bad_count = 0;  if(p->length() == 0)    return 0;  assert(p->length() >= 2);  assert(action == ACTION_DEAD_LINK ||         action == ACTION_EVICT ||         action == ACTION_FIND_ROUTE);  for (c = start; c < p->length() - 1; c++)    {      if (God::instance()->hops((*p)[c].getNSAddr_t(), (*p)[c+1].getNSAddr_t()) != 1)	{          trace("SRC %.9f _%s_ %s [%d %d] %s->%s dead %d %.9f",                Scheduler::instance().clock(), net_id.dump(),                action_name[action], p->length(), c,                (*p)[c].dump(), (*p)[c+1].dump(),                (*p)[c].link_type, (*p)[c].t);          if(subroute_bad_count == 0)            subroute_bad_count = p->length() - c - 1;	}    }  return subroute_bad_count;}#endif /* DSR_CACHE_STAT */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久九九影视网| 日韩视频中午一区| 夫妻av一区二区| 国内精品免费**视频| 精品一区二区在线视频| 久久精品国产第一区二区三区| 毛片av中文字幕一区二区| 日韩高清电影一区| 美女视频免费一区| 国产盗摄精品一区二区三区在线 | 欧美情侣在线播放| 欧美一区二区大片| 久久综合色婷婷| 日本一区二区三区四区| 18涩涩午夜精品.www| 亚洲图片自拍偷拍| 精品无人码麻豆乱码1区2区| 国产成人综合视频| 91久久国产最好的精华液| 欧美高清视频不卡网| 精品久久久久久久人人人人传媒| 国产欧美一区二区精品久导航 | 日韩欧美一级片| 国产日韩欧美不卡| 亚洲午夜在线电影| 韩国精品在线观看| 91黄色激情网站| 欧美变态口味重另类| 中文字幕的久久| 午夜精品久久久久久久99樱桃| 麻豆久久久久久| 91日韩精品一区| 日韩欧美一区在线| 亚洲欧美乱综合| 久久成人久久鬼色| 色琪琪一区二区三区亚洲区| 日韩无一区二区| 亚洲人成电影网站色mp4| 麻豆精品在线视频| 91成人网在线| 中文字幕av在线一区二区三区| 亚洲午夜在线电影| 白白色亚洲国产精品| 2020日本不卡一区二区视频| 亚洲夂夂婷婷色拍ww47| 国产大陆精品国产| 欧美sm美女调教| 亚洲国产精品天堂| 色久综合一二码| 国产精品传媒入口麻豆| 国内精品免费在线观看| 欧美二区三区的天堂| 调教+趴+乳夹+国产+精品| 粉嫩欧美一区二区三区高清影视| 欧美精品精品一区| 亚洲永久精品大片| 91在线国产福利| 国产免费观看久久| 国产精品白丝jk白祙喷水网站| 欧美一区二区三区视频在线观看| 亚洲夂夂婷婷色拍ww47| 99精品视频一区二区| 国产精品久久久久久福利一牛影视| 久久精品72免费观看| 欧美一二区视频| 秋霞影院一区二区| 91精品视频网| 日本不卡视频在线观看| 欧美精品久久99| 日韩激情一区二区| 91精品国产日韩91久久久久久| 婷婷开心久久网| 在线综合视频播放| 久久精品久久99精品久久| 欧美成人aa大片| 国产精品99久久久久| 日本一区二区免费在线观看视频| 国产乱码精品一区二区三| 国产午夜精品一区二区三区嫩草 | 夜夜亚洲天天久久| 日本高清成人免费播放| 亚洲一二三四区| 欧美精品久久久久久久多人混战| 日本亚洲一区二区| 日韩免费性生活视频播放| 久久精品国产久精国产爱| 久久精品亚洲乱码伦伦中文| 国产99久久久精品| 亚洲欧美一区二区视频| 欧美午夜不卡视频| 国产在线不卡一区| 国产精品免费丝袜| 在线精品观看国产| 奇米色777欧美一区二区| 久久男人中文字幕资源站| 成人免费毛片嘿嘿连载视频| 最好看的中文字幕久久| 亚洲国产成人在线| 5月丁香婷婷综合| 久久国产尿小便嘘嘘| 久久精品欧美日韩| 91在线视频免费观看| 五月天国产精品| 久久婷婷国产综合国色天香 | 中文字幕免费一区| 色婷婷综合久久久中文字幕| 日韩成人午夜精品| 国产精品久久久久久久久搜平片 | 日韩黄色一级片| 国产农村妇女毛片精品久久麻豆| 色综合欧美在线| 另类综合日韩欧美亚洲| 亚洲欧美激情小说另类| 日韩你懂的在线播放| 色视频欧美一区二区三区| 久久精品国产99久久6| 亚洲精品日韩综合观看成人91| 日韩一区二区精品| 在线视频你懂得一区二区三区| 久久精品国产久精国产爱| 樱桃国产成人精品视频| 国产亚洲女人久久久久毛片| 欧美日韩久久一区| 96av麻豆蜜桃一区二区| 韩国中文字幕2020精品| 午夜精品一区二区三区三上悠亚| 欧美激情综合五月色丁香小说| 91精品综合久久久久久| 91久久精品一区二区三区| 国产成人免费9x9x人网站视频| 成熟亚洲日本毛茸茸凸凹| 日韩精品电影一区亚洲| 一区二区三区丝袜| 中文字幕一区二区三| 久久久久综合网| 日韩免费看的电影| 欧美一区国产二区| 欧美日韩精品三区| 欧美三级电影在线看| 91看片淫黄大片一级在线观看| 成人精品电影在线观看| 精品一区二区国语对白| 久久99国内精品| 日本欧美在线看| 青娱乐精品在线视频| 午夜婷婷国产麻豆精品| 亚洲大型综合色站| 丝袜亚洲另类欧美综合| 亚洲午夜在线电影| 婷婷开心激情综合| 日韩高清不卡在线| 美女免费视频一区二区| 麻豆91精品91久久久的内涵| 蜜臀av在线播放一区二区三区 | 久久久美女毛片| 久久色.com| 日本一区二区三区四区在线视频| 久久精品水蜜桃av综合天堂| 欧美激情资源网| 中文字幕一区二区三区色视频| 亚洲欧美在线视频| 亚洲一线二线三线视频| 日韩在线卡一卡二| 国产一区久久久| 成人美女视频在线看| 91视频观看视频| 欧美老肥妇做.爰bbww视频| 91精品国产综合久久精品| ww久久中文字幕| 国产精品美女久久久久久2018| 亚洲欧美韩国综合色| 午夜精品久久久久| 经典三级视频一区| 99视频一区二区三区| 欧美日韩午夜影院| 久久综合九色综合97婷婷| 国产精品国产a级| 亚洲国产精品久久人人爱蜜臀| 麻豆视频观看网址久久| 成人做爰69片免费看网站| 欧美专区日韩专区| 久久久综合视频| 一区二区三区蜜桃网| 久久精品99国产精品日本| av电影天堂一区二区在线观看| 欧美日韩在线观看一区二区| 精品国产网站在线观看| 亚洲色图欧美偷拍| 久草中文综合在线| 91福利视频网站| 国产日韩欧美一区二区三区乱码| 一个色在线综合| 成人久久18免费网站麻豆| 91麻豆精品国产91久久久久| 欧美激情一区三区| 蜜臀av在线播放一区二区三区| 不卡的电视剧免费网站有什么| 欧美丰满少妇xxxbbb| 亚洲日本中文字幕区| 国产一区不卡视频|