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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? mechanisms.tcl

?? 對IEEE 802.11e里的分布式信道接入算法EDCA進(jìn)行改進(jìn)
?? TCL
?? 第 1 頁 / 共 2 頁
字號:
# Check if bandwidth in penalty box should be adjusted.# basen on drop rate diffs between good and bad boxesRTMechanisms instproc checkbw_droprate { droprateB droprateG } {	$self instvar badclass_	$self instvar npenalty_ cbqlink_	set link_bw [expr [[$cbqlink_ link] set bandwidth_] / 8.0]	set old_allot [$badclass_ allot]	if { $droprateB < 2 * $droprateG } {		set class_bw [expr $old_allot * $link_bw]		set new_cbw [expr 0.5 * $class_bw]		set new_allot [expr $new_cbw / $link_bw]		$self vprint 0 "Penalty box: was $old_allot now $new_allot"		return $new_allot	}	$self vprint 1 "Penalty box: $old_allot"	return "ok"}## main routine to determine if there are bad flows to penalize#RTMechanisms instproc sched-detect {} {	$self instvar Detect_interval_ detect_pending_	$self instvar ns_	if { $detect_pending_ == "true" } {		$self vprint 2 "SCHEDULING DETECT (NO, ALREADY PENDING)"		return	}	set now [$ns_ now]	set then [expr $now + $Detect_interval_]	set detect_pending_ true	$ns_ at $then "$self do_detect"	$self vprint 2 "SCHEDULING DETECT for $then"}	RTMechanisms instproc do_detect {} {	$self instvar ns_	$self instvar last_detect_	$self instvar Mintime_ Rtt_ Mtu_	$self instvar okboxfm_	$self instvar state_	$self instvar detect_pending_	$okboxfm_ dump	set detect_pending_ false	set now [$ns_ now]	$self vprint 2 "DO_DETECT started at time $now, last: $last_detect_"	set elapsed [expr $now - $last_detect_]	set last_detect_ $now	if { $elapsed < $Mintime_ } {		puts "ERROR: do_detect: elapsed: $elapsed, min: $Mintime_"		exit 1	}	set barrivals [$okboxfm_ set barrivals_]	set parrivals [$okboxfm_ set parrivals_]	set ndrops [$okboxfm_ set pdrops_] ; # drops == (total drops, incl epd)	set droprateG [$self frac $ndrops $parrivals]	set M [$self mmetric max "[$okboxfm_ flows]"]	set badflow [lindex $M 0]	set maxmetric [lindex $M 1]	$self vprint 2 "DO_DETECT: droprateG: $droprateG (drops:$ndrops, arrs:$parrivals"	if { $badflow == "none" } {		$self vprint 1 "DO_DETECT: no candidate bad flows... returning"		$self sched-detect		# nobody		return	}	$self vprint 2 "DO_DETECT: possible bad flow: $badflow ([$badflow set src_], [$badflow set dst_], [$badflow set flowid_]), maxmetric:$maxmetric"	set known false	if { [info exists state_($badflow,ctime)] } {		set known true		set flowage [expr $now - $state_($badflow,ctime)]		if { $flowage < $Mintime_ } {			$self vprint 1 "DO_DETECT: flow $badflow too young ($flowage)"			$self sched-detect			return		}	}	# estimate the bw's arrival rate without knowing it directly	#	note: in ns-1 maxmetric was a %age, here it is a frac	set flow_bw_est [expr $maxmetric * $barrivals / $elapsed]	$self vprint 9 "maxmetric $maxmetric barrivals $barrivals elapsed $elapsed"	set guideline_bw  [$self tcp_ref_bw $Mtu_ $Rtt_ $droprateG]	set friendly [$self test_friendly $badflow $flow_bw_est $guideline_bw]	if { $friendly == "fail" } {		# didn't pass friendly test		$self setstate $badflow "UNFRIENDLY" $flow_bw_est $droprateG		$self penalize $badflow $guideline_bw		$self sched-reward	} elseif { $known == "true" && $state_($badflow,reason) == "UNRESPONSIVE" } {		# was unresponsive once already		$self vprint 1 "WAS unresponsive once already"		$self instvar PUFrac_		set u [$self test_unresponsive_again \		    $badflow $flow_bw_est $droprateG $PUFrac_ $PUFrac_]		if { $u == "fail" } {			# is still unresponsive			$self setstate $badflow "UNRESPONSIVE2" \			    $flow_bw_est $droprateG			$self penalize $badflow $flow_bw_est			$self sched-reward		}	} else {		set nxt [$self fhist-add $badflow $droprateG $flow_bw_est]		set u [$self test_unresponsive_initial \		    $badflow $flow_bw_est $droprateG $nxt]		if { $u == "fail" } {			$self vprint 1 "FIRST TIME unresponsive"			$self setstate $badflow "UNRESPONSIVE" \			    $flow_bw_est $droprateG		} elseif { [$self test_high $badflow $flow_bw_est $droprateG $elapsed] == "fail" } {			$self setstate $badflow "HIGH" \			    $flow_bw_est $droprateG			$self penalize $badflow $flow_bw_est			$self sched-reward		} else {			set ck1 [$self checkbw_fair $guideline_bw]			set ck2 [$self checkbw_fair $flow_bw_est]			if { $ck1 == "fail" || $ck2 == "fail" } {				if { $ck1 == "ok" } {					set nallot $ck2				} elseif { $ck2 == "ok" } {					set nallot $ck1				} else {					set nallot $ck2					if { $ck1 < $ck2 } {						set nallot $ck1					}				}				$self pallot $nallot			}		}	}	$self sched-detect	foreach f [$okboxfm_ flows] {		$f reset	}	$okboxfm_ reset	$self vprint 2 "do_detect complete..."}## main routine to determine if there are restricted flows# that are now behaving better#RTMechanisms instproc sched-reward {} {	$self instvar Reward_interval_ reward_pending_ 	$self instvar ns_	if { $reward_pending_ == "true" } {		$self vprint 2 "SCHEDULING REWARD (NO, ALREADY PENDING)"		return	}	set now [$ns_ now]	set then [expr $now + $Reward_interval_]	set reward_pending_ true	$ns_ at $then "$self do_reward"	$self vprint 1 "SCHEDULING REWARD for $then"}RTMechanisms instproc do_reward {} {	$self instvar ns_	$self instvar last_reward_ reward_pending_	$self instvar Mintime_	$self instvar state_	$self instvar pboxfm_ okboxfm_	$self instvar npenalty_	$self instvar Mtu_ Rtt_	$pboxfm_ dump	set reward_pending_ false	set now [$ns_ now]	$self vprint 2 "DO_REWARD starting at $now, last: $last_reward_"### Is this wrong? - question from Ion Stoica.### When is $last_reward_ set when a flow is first penalized?### What if the "penalize" and "reward" cycles are not in sync?### So that "$now - $last_reward_" is long, but that flow has### not been categorized in this box for that period of time?	set elapsed [expr $now - $last_reward_]	set last_reward_ $now	if { $npenalty_ == 0 } {		return	}	set parrivals [$pboxfm_ set parrivals_]	set pdepartures [$pboxfm_ set pdepartures_]	set pdrops [$pboxfm_ set pdrops_]	set barrivals [$pboxfm_ set barrivals_]	set badBps [expr $barrivals / $elapsed]	set pflows [$pboxfm_ flows] ; # all penalized flows	$self vprint 1 "DO_REWARD: droprateB: [$self frac $pdrops $parrivals] (pdrops: $pdrops, parr: $parrivals pdep: $pdepartures)"	$self vprint 1 "DO_REWARD: badbox pool of flows: $pflows"	if { $parrivals == 0 && $elapsed > $Mintime_ } {		# nothing!, everybody becomes good		$self vprint 1 "do_reward: no bad flows, reward all"		foreach f $pflows {			$self unpenalize $f		}		set npenalty_ 0		return	}	set droprateB [$self frac $pdrops $parrivals]	set M [$self mmetric min "$pflows"]	set goodflow [lindex $M 0]	set goodmetric [lindex $M 1]	if { $goodflow == "none" } {		#none		$self sched-reward		return	}	set flowage [expr $now - $state_($goodflow,ctime)]	$self vprint 2 "found flow $goodflow as potential good-guy (age: $flowage)"	if { $flowage < $Mintime_ } {		$self vprint 1 "DO_REWARD: flow $goodflow too young ($flowage) to be rewarded"		$self sched-reward		return	}	set pgoodarrivals [$okboxfm_ set parrivals_]	set ngdrops [$okboxfm_ set pdrops_]	set droprateG [$self frac $ngdrops $pgoodarrivals]	# assume we have per-flow arrival stats in bad box	#set flow_bw_est [expr $goodmetric * $barrivals / $elapsed]	set flow_bw_est [expr [$goodflow set barrivals_] / $elapsed]		# if it was unfriendly and is now friendly, reward	# if it was unresp and is now resp + friendly, reward	# if it was high and is now !high + friendly, reward	#	switch $state_($goodflow,reason) {		"UNFRIENDLY" {			set fr [$self test_friendly $goodflow $flow_bw_est \			    [$self tcp_ref_bw $Mtu_ $Rtt_ $droprateB]]			if { $fr == "ok" } {				$self setstate $goodflow "OK" $flow_bw_est $droprateB				$self unpenalize $goodflow			}		}		"UNRESPONSIVE" {			$self instvar RUBFrac_			$self instvar RUDFrac_			set unr [$self test_unresponsive_again $goodflow $RUBFrac_ $RUDFrac_]			if { $unr == "ok" } {			    set fr [$self test_friendly $goodflow $flow_bw_est \			      [$self tcp_ref_bw $Mtu_ $Rtt_ $droprateB]]			    if { $fr == "ok" } {				$self setstate $goodflow "OK" $flow_bw_est $droprateB				$self unpenalize $goodflow			    }			}		}		"HIGH" {			set h [$self test_high $goodflow $flow_bw_est $droprateB $elapsed]			if { $h == "ok" } {			    set fr [$self test_friendly $goodflow $flow_bw_est \			      [$self tcp_ref_bw $Mtu_ $Rtt_ $droprateB]]			    if { $fr == "ok" } {				$self setstate $goodflow "OK" $flow_bw_est $droprateB				$self unpenalize $goodflow			    }			}		}	}	if { $npenalty_ > 0 } {		$self checkbw_droprate $droprateB $droprateG	}	$self sched-reward	foreach f [$pboxfm_ flows] {		$f reset	}	$pboxfm_ reset	$self vprint 2 "do_reward complete..."}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩国产综合视频在线观看| 日日摸夜夜添夜夜添精品视频 | 91在线视频播放地址| 国产亚洲欧洲997久久综合 | 337p粉嫩大胆噜噜噜噜噜91av| 奇米影视在线99精品| 日韩三级视频在线看| 久久99热国产| 国产日韩精品一区二区三区| 国产成人aaa| 中文字幕乱码久久午夜不卡| 91丨九色丨蝌蚪富婆spa| 亚洲精品久久久蜜桃| 欧美日韩高清一区| 久久se精品一区精品二区| 久久精品这里都是精品| 不卡电影一区二区三区| 亚洲成在人线在线播放| 91精品国产综合久久香蕉麻豆| 久久精品久久综合| 欧美国产禁国产网站cc| 色成人在线视频| 蜜臀av国产精品久久久久| 欧美精品一区二区三区高清aⅴ| 国产91精品欧美| 夜夜揉揉日日人人青青一国产精品| 91精品国产综合久久久蜜臀粉嫩| 国内精品免费**视频| 中文字幕中文字幕一区| 欧美日韩精品一区二区三区四区| 久久精品国产免费看久久精品| 国产清纯在线一区二区www| 色狠狠色噜噜噜综合网| 久久99久久99| 亚洲男人的天堂在线aⅴ视频| 欧美亚洲国产一卡| 国产精品一卡二卡| 亚洲成人av在线电影| 2021中文字幕一区亚洲| 色婷婷久久一区二区三区麻豆| 免费成人在线网站| 一区视频在线播放| 精品理论电影在线| 在线中文字幕一区二区| 国产精品一级片在线观看| 亚洲一区二区三区三| 久久久久九九视频| 在线播放欧美女士性生活| 成人av资源网站| 久久99精品国产麻豆婷婷洗澡| 亚洲乱码中文字幕| 国产欧美日韩视频一区二区 | 国产高清视频一区| 亚洲国产一区二区三区青草影视| 国产视频一区二区在线观看| 91精品国产麻豆| 在线视频中文字幕一区二区| 国产大片一区二区| 久久国产三级精品| 五月天一区二区三区| 综合久久久久久久| 国产欧美精品一区| 精品国产一区二区三区忘忧草| 91福利精品第一导航| 99麻豆久久久国产精品免费 | www.亚洲激情.com| 国产酒店精品激情| 久久国产福利国产秒拍| 丝袜美腿一区二区三区| 一区二区三区四区中文字幕| 中文字幕一区二区三区在线播放| 久久久久国色av免费看影院| 日韩欧美www| 欧美一区二区精品| 宅男噜噜噜66一区二区66| 欧美视频日韩视频| 欧美午夜理伦三级在线观看| 色悠悠久久综合| 一本大道综合伊人精品热热 | 国产精品水嫩水嫩| 久久色中文字幕| 久久蜜桃一区二区| 久久久影视传媒| 久久久精品免费免费| 久久久久88色偷偷免费| 国产亚洲精品超碰| 久久久高清一区二区三区| 久久久99久久| 国产精品素人一区二区| 国产精品的网站| 亚洲欧美色图小说| 亚洲综合在线视频| 日韩国产欧美三级| 久久国产尿小便嘘嘘| 国产精品亚洲一区二区三区在线| 精品一区二区综合| 国产剧情一区二区| 94色蜜桃网一区二区三区| 91丨porny丨中文| 欧美丝袜自拍制服另类| 91麻豆精品国产91久久久久| 欧美大片日本大片免费观看| 精品国产污网站| 中文字幕精品—区二区四季| 国产精品久久久久影院| 一区二区三区.www| 日本欧洲一区二区| 国产精品18久久久久久久网站| 成人教育av在线| 欧美午夜片在线看| 日韩欧美国产wwwww| 国产精品久久三| 亚洲第一主播视频| 国产精品99久久久久久有的能看| av资源站一区| 欧美二区乱c少妇| www激情久久| 亚洲精品成人悠悠色影视| 日本 国产 欧美色综合| 国产精品小仙女| 在线免费亚洲电影| 亚洲精品一区二区三区影院| 亚洲少妇30p| 蜜桃精品在线观看| 91麻豆视频网站| 欧美成人a∨高清免费观看| 最新热久久免费视频| 日韩高清一区在线| 成人av片在线观看| 欧美一卡在线观看| 亚洲视频你懂的| 精品一区二区成人精品| 欧洲人成人精品| 国产欧美综合在线| 日韩电影在线观看网站| 99re这里都是精品| 久久婷婷一区二区三区| 午夜精品福利久久久| 成人激情黄色小说| 亚洲精品一区二区三区精华液| 亚洲精品国产成人久久av盗摄| 国产精品18久久久久| 欧美精品九九99久久| 成人免费在线播放视频| 黄色成人免费在线| 欧美一区二区三区婷婷月色| 亚洲乱码中文字幕| 懂色中文一区二区在线播放| 欧美一级高清片| 亚洲成av人影院在线观看网| jlzzjlzz国产精品久久| 久久色.com| 日本va欧美va欧美va精品| 欧美色图免费看| 亚洲欧美另类久久久精品2019| 国产精品一区二区三区网站| 欧美一区二区三区在线电影| 亚洲国产美女搞黄色| 日本韩国视频一区二区| 中文一区在线播放| 国产99久久久国产精品潘金| 欧美成人a在线| 蜜臀a∨国产成人精品| 欧美一区二区三区性视频| 天天操天天干天天综合网| 欧美视频中文字幕| 亚洲一二三四久久| 欧美性受极品xxxx喷水| 一区二区免费看| 色猫猫国产区一区二在线视频| 亚洲欧美激情小说另类| 99久久免费视频.com| 亚洲人成网站精品片在线观看| av影院午夜一区| 综合网在线视频| 色哟哟日韩精品| 亚洲码国产岛国毛片在线| 色偷偷久久人人79超碰人人澡| 亚洲色图欧洲色图婷婷| 99精品久久只有精品| 亚洲精品精品亚洲| 欧美三日本三级三级在线播放| 国产精品自在在线| 亚洲精品一区二区三区福利| 国产一区二区三区不卡在线观看| 精品日韩成人av| 高清不卡一区二区在线| 成人免费在线视频| 色老头久久综合| 香蕉成人伊视频在线观看| 欧美一区午夜精品| 国产综合色视频| 亚洲国产精品ⅴa在线观看| av电影天堂一区二区在线观看| 亚洲欧洲制服丝袜| 欧美另类一区二区三区| 久久99蜜桃精品| 中文字幕va一区二区三区| 91麻豆免费视频| 免费在线观看不卡|