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

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

?? trace.cc.cc

?? 在網絡的邊緣路由器中并不能完全接受所到的包
?? CC
?? 第 1 頁 / 共 2 頁
字號:
			tcph->flags(),
			tcph->hlen(),
			tcph->sa_length());
	}

        // begin archanakrishna 
      
           hdr_cmn* hdr = (hdr_cmn*)p->access(off_cmn_);

           // This part of code should be included only when the egress
           // router is congested using crosstraffic src2

           if(congest1_ == 1)
           {
              if(src_nodeaddr[0] == '3') 
              {
                if((s == 4)&&(s < d)&&(tt == '+'))
                {
                   double now = round(Scheduler::instance().clock());
                   hdr->arrivaltimestamp() = now;
                }
              }
              else
              {
                 if((hdr->pktingressnode() == s)&&(s < d)&&(tt == '+'))
                 {
                    double now = round(Scheduler::instance().clock());
                    hdr->arrivaltimestamp() = now;
                 }
              }
           }
            
           if(congest1_ == 0)
           {
             if((hdr->pktingressnode() == s)&&(s < d)&&(tt == '+'))
             {
                double now = round(Scheduler::instance().clock());
                hdr->arrivaltimestamp() = now;
             }
           }
        // end archanakrishna  


        // begin archanakrishna

             // This part of code should be included only when the ingress
             // router is congested using crosstraffic src1

             if(congest2_ == 2)
             {
               if(src_nodeaddr[0] == '0')
               {
                 if((s == 3)&&(s < d)&&(tt == '-'))
                 {
                   double now1 = hdr->arrivaltimestamp();
                   double now2 = round(Scheduler::instance().clock());
                   double diff = now2 - now1;
                   double servicetime = now1 + diff;
                   hdr->servicetimestamp() = servicetime;
                   ++snoopqueuecount;
                   measure[snoopqueuecount].createPacketinfolist(p);
                 }
               }
               else
               {
                  if((hdr->pktegressnode() == s)&&(s < d)&&(tt == '-')) 
                  {
                    double now1 = hdr->arrivaltimestamp();
                    double now2 = round(Scheduler::instance().clock());
                    double diff = now2 - now1;
                    double servicetime = now1 + diff;
                    hdr->servicetimestamp() = servicetime;
                    ++snoopqueuecount;
                    measure[snoopqueuecount].createPacketinfolist(p);
                  }
               }
             } 

             if(congest2_ == 0)
             { 
                if((hdr->pktegressnode() == s)&&(s < d)&&(tt == '-'))
                {
                   double now1 = hdr->arrivaltimestamp();
                   double now2 = round(Scheduler::instance().clock());
                   double diff = now2 - now1;
                   double servicetime = now1 + diff;
                   hdr->servicetimestamp() = servicetime;
                   ++snoopqueuecount;
                   measure[snoopqueuecount].createPacketinfolist(p);
                }
             }
        // end archanakrishna


#ifdef NAM_TRACE
	if (namChan_ != 0)
		sprintf(nwrk_, 
			"%c -t %g -s %d -d %d -p %s -e %d -c %d -i %d -a %d -x {%s%s %s%s %d %s %s}",
			tt,
			Scheduler::instance().clock(),
			s,
 			d,
			name,
			th->size(),
			iph->flowid(),
			th->uid(),
			iph->flowid(),
			src_nodeaddr,
			src_portaddr,
			dst_nodeaddr,
			dst_portaddr,
			seqno,flags,sname);
#endif      
	delete [] src_nodeaddr;
  	delete [] src_portaddr;
  	delete [] dst_nodeaddr;
   	delete [] dst_portaddr;
}

void Trace::dump()
{
	int n = strlen(wrk_);
	if ((n > 0) && (channel_ != 0)) {
		/*
		 * tack on a newline (temporarily) instead
		 * of doing two writes
		 */
		wrk_[n] = '\n';
		wrk_[n + 1] = 0;
		(void)Tcl_Write(channel_, wrk_, n + 1);
		wrk_[n] = 0;
	}

	if (callback_) {
		Tcl& tcl = Tcl::instance();
		tcl.evalf("%s handle { %s }", name(), wrk_);
	}
}

#ifdef NAM_TRACE
void Trace::namdump()
{
	int n = 0;

	/* Otherwise nwrk_ isn't initialized */
	if (namChan_ != 0)
		n = strlen(nwrk_);
	if ((n > 0) && (namChan_ != 0)) {
		/*
		 * tack on a newline (temporarily) instead
		 * of doing two writes
		 */
		nwrk_[n] = '\n';
		nwrk_[n + 1] = 0;
		(void)Tcl_Write(namChan_, nwrk_, n + 1);
		nwrk_[n] = 0;
	}
}
#endif

void Trace::recv(Packet* p, Handler* h)
{

	format(type_, src_, dst_, p);
	dump();
	namdump();
	/* hack: if trace object not attached to anything free packet */
	if (target_ == 0)
		Packet::free(p);
	else
		send(p, h);
}


void Trace::trace(TracedVar* var)
{
	char tmp[256] = "";
	Scheduler& s = Scheduler::instance();
	if (&s == 0)
		return;

	// format: use Mark's nam feature code without the '-' prefix
	sprintf(wrk_, "%c t%g a%s n%s v%s",
		type_,
		round(s.clock()),
		var->owner()->name(),
		var->name(),
		var->value(tmp));
	dump();
}

//
// we need a DequeTraceClass here because a 'h' event need to go together
// with the '-' event. It's possible to use a postprocessing script, but 
// seems that's inconvient.
//
static class DequeTraceClass : public TclClass {
public:
	DequeTraceClass() : TclClass("Trace/Deque") { }
	TclObject* create(int args, const char*const* argv) {
		if (args >= 5)
			return (new DequeTrace(*argv[4]));
		return NULL;
	}
} dequetrace_class;


DequeTrace::~DequeTrace()
{
}

void 
DequeTrace::recv(Packet* p, Handler* h)
{
	// write the '-' event first
	format(type_, src_, dst_, p);
	dump();
	namdump();

#ifdef NAM_TRACE
	if (namChan_ != 0) {
#ifdef OFF_HDR
		hdr_cmn *th = (hdr_cmn*)p->access(off_cmn_);
		hdr_ip *iph = (hdr_ip*)p->access(off_ip_);
		hdr_srm *sh = (hdr_srm*)p->access(off_srm_);
#else
		hdr_cmn *th = hdr_cmn::access(p);
		hdr_ip *iph = hdr_ip::access(p);
		hdr_srm *sh = hdr_srm::access(p);
#endif
		const char* sname = "null";   

		packet_t t = th->ptype();
		const char* name = packet_info.name(t);
		
		if (strcmp(name,"SRM") == 0 || strcmp(name,"cbr") == 0 || strcmp(name,"udp") == 0) {
		    if ( sh->type() < 5 && sh->type() > 0  ) {
		        sname = srm_names[sh->type()];
		    }
		}   

		char *src_nodeaddr = Address::instance().print_nodeaddr(iph->src());
		char *src_portaddr = Address::instance().print_portaddr(iph->src());
		char *dst_nodeaddr = Address::instance().print_nodeaddr(iph->dst());
		char *dst_portaddr = Address::instance().print_portaddr(iph->dst());

		char flags[NUMFLAGS+1];
		for (int i = 0; i < NUMFLAGS; i++)
			flags[i] = '-';
		flags[NUMFLAGS] = 0;

#ifdef OFF_HDR
		hdr_flags* hf = (hdr_flags*)p->access(off_flags_);
#else
		hdr_flags* hf = hdr_flags::access(p);
#endif
		flags[0] = hf->ecn_ ? 'C' : '-';          // Ecn Echo
		flags[1] = hf->pri_ ? 'P' : '-'; 
		flags[2] = '-';
		flags[3] = hf->cong_action_ ? 'A' : '-';   // Congestion Action
		flags[4] = hf->ecn_to_echo_ ? 'E' : '-';   // Congestion Experienced
		flags[5] = hf->fs_ ? 'F' : '-';
		flags[6] = hf->ecn_capable_ ? 'N' : '-';
	
#ifdef notdef
		flags[1] = (iph->flags() & PF_PRI) ? 'P' : '-';
		flags[2] = (iph->flags() & PF_USR1) ? '1' : '-';
		flags[3] = (iph->flags() & PF_USR2) ? '2' : '-';
		flags[5] = 0;
#endif
		
		sprintf(nwrk_, 
			"%c -t %g -s %d -d %d -p %s -e %d -c %d -i %d -a %d -x {%s%s %s%s %d %s %s}",
			'h',
			Scheduler::instance().clock(),
			src_,
  			dst_,
			name,
			th->size(),
			iph->flowid(),
			th->uid(),
			iph->flowid(),
			src_nodeaddr,
			src_portaddr,
			dst_nodeaddr,
			dst_portaddr,
			-1, flags, sname);
		namdump();
		delete [] src_nodeaddr;
		delete [] src_portaddr;
		delete [] dst_nodeaddr;
		delete [] dst_portaddr;
	}
#endif

	/* hack: if trace object not attached to anything free packet */
	if (target_ == 0)
		Packet::free(p);
	else
		send(p, h);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
7878成人国产在线观看| 99国产欧美久久久精品| 欧美精品丝袜久久久中文字幕| 亚洲精品欧美在线| 欧美日韩一区二区三区不卡| 香蕉影视欧美成人| 日韩欧美电影一区| 国产精品888| 亚洲日本在线观看| 欧美人妇做爰xxxⅹ性高电影| 日韩精品高清不卡| 久久综合精品国产一区二区三区| 国产91精品精华液一区二区三区| 亚洲婷婷综合久久一本伊一区| 精品视频在线免费| 国产一区二区女| 日韩理论片网站| 欧美一区二区在线看| 国产专区欧美精品| 一区二区三区在线视频观看58| 91精品国产入口| 丁香桃色午夜亚洲一区二区三区| 一个色综合av| 久久综合久久综合亚洲| 91久久国产综合久久| 免费成人在线影院| 亚洲人123区| 日韩午夜激情视频| 91啪在线观看| 久久99精品久久久久久动态图| 国产欧美日韩三区| 制服视频三区第一页精品| 国产精品18久久久久久vr| 亚洲在线一区二区三区| 久久午夜羞羞影院免费观看| 日本精品免费观看高清观看| 国产揄拍国内精品对白| 亚洲成年人影院| 中文字幕高清不卡| 欧美一卡在线观看| 色视频欧美一区二区三区| 久久99精品久久久久久动态图 | 久久久夜色精品亚洲| 欧美午夜一区二区三区| 国产不卡一区视频| 久久精品免费观看| 亚洲第一福利一区| 国产精品久久久久久久久免费丝袜| 91精品久久久久久蜜臀| 91麻豆.com| 成人午夜电影久久影院| 九色porny丨国产精品| 亚洲综合色噜噜狠狠| 国产精品天干天干在观线 | 欧美成人伊人久久综合网| 91麻豆国产福利精品| 国产福利电影一区二区三区| 麻豆久久一区二区| 亚洲高清视频在线| 亚洲美女淫视频| 国产精品网曝门| 久久久午夜精品理论片中文字幕| 7777精品伊人久久久大香线蕉超级流畅 | 99久久精品国产网站| 国产精品资源在线看| 看电影不卡的网站| 日韩不卡手机在线v区| 天天亚洲美女在线视频| 亚洲卡通动漫在线| 国产精品每日更新| 国产精品久久久久aaaa| 国产精品免费丝袜| 国产精品素人视频| 国产精品污www在线观看| 亚洲国产高清在线观看视频| 国产精品美日韩| 国产精品国产自产拍高清av王其 | 中文字幕欧美区| 亚洲国产成人午夜在线一区| 欧美国产激情二区三区| 欧美高清在线一区| 国产精品女主播av| 亚洲欧美日韩国产中文在线| 亚洲美女视频在线观看| 一区二区三区在线不卡| 亚洲一卡二卡三卡四卡| 午夜精品成人在线视频| 日韩不卡免费视频| 国产乱码精品1区2区3区| 粉嫩aⅴ一区二区三区四区| 成人综合婷婷国产精品久久| 成人动漫一区二区| 一本色道久久综合亚洲91| 在线观看视频91| 欧美另类久久久品| 欧美一二三四区在线| 国产调教视频一区| 一区二区在线免费| 天天综合色天天综合色h| 激情偷乱视频一区二区三区| 成人一区二区三区中文字幕| 色综合天天在线| 欧美一区二区私人影院日本| 精品国产乱码久久久久久浪潮| 国产日本欧美一区二区| 亚洲图片欧美色图| 精品综合免费视频观看| 99re在线精品| 日韩欧美一区在线| 国产精品萝li| 奇米精品一区二区三区在线观看一| 国产麻豆成人精品| 欧美三级乱人伦电影| 久久久久久一级片| 亚洲综合另类小说| 国产乱码精品一区二区三区忘忧草 | 精品成人在线观看| 亚洲另类色综合网站| 精品一区二区三区日韩| 色婷婷亚洲一区二区三区| 日韩欧美一区中文| 一区二区三区中文在线| 久久9热精品视频| 色诱视频网站一区| 久久蜜臀精品av| 亚洲电影你懂得| 成人一区二区三区视频在线观看| 精品视频在线视频| 国产精品国产三级国产aⅴ入口 | 国内久久精品视频| 在线看日本不卡| 久久精品一区二区三区不卡| 亚洲一区二区在线免费看| 国产美女精品一区二区三区| 欧美色图免费看| 国产精品美女久久久久高潮| 裸体在线国模精品偷拍| 欧美性生活一区| 中文字幕一区二区三区精华液| 久久国产成人午夜av影院| 欧美丝袜第三区| 国产精品福利在线播放| 国产一区在线视频| 日韩午夜三级在线| 日韩高清欧美激情| 欧美日韩一区二区在线观看 | 日韩福利视频网| 欧美四级电影在线观看| 国产精品黄色在线观看| 成人一二三区视频| 久久久久久久av麻豆果冻| 美国毛片一区二区| 337p亚洲精品色噜噜狠狠| 亚洲国产欧美日韩另类综合| 99这里只有精品| 欧美国产欧美综合| 成人av资源网站| 国产欧美视频一区二区| 国产一本一道久久香蕉| 久久综合九色综合97婷婷| 久久成人免费日本黄色| 日韩精品一区二区在线| 日韩高清一区在线| 日韩精品一区二区三区在线观看 | 欧美日韩一区久久| 婷婷综合另类小说色区| 欧美色男人天堂| 亚洲va在线va天堂| 91精品婷婷国产综合久久性色| 亚洲第一成年网| 欧美日韩国产影片| 午夜激情一区二区| 日韩一级免费一区| 麻豆91精品视频| 久久精品视频一区二区三区| 国产精品中文字幕日韩精品| 亚洲国产成人一区二区三区| 99国产一区二区三精品乱码| 一区二区三区在线播| 欧美色图片你懂的| 另类小说一区二区三区| 国产三级精品在线| 99re在线视频这里只有精品| 亚洲综合色婷婷| 日韩欧美综合在线| 国产精品中文字幕欧美| 亚洲三级久久久| 在线电影欧美成精品| 久久99国内精品| 国产精品麻豆久久久| 欧美午夜电影网| 国产在线麻豆精品观看| 亚洲视频一区二区在线| 欧美日韩精品免费观看视频 | 亚洲成人免费电影| 337p日本欧洲亚洲大胆色噜噜| 成人性生交大合| 亚洲成人免费电影| 国产亚洲1区2区3区| 日本道在线观看一区二区|