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

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

?? mechanisms.tcl

?? R. Lo Cigno, P. Larcheri 802.11e closed-loop scheduling Description: ns-2 package for 802.11e clo
?? 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一区二区三区免费野_久草精品视频
日韩精品在线一区| 亚洲婷婷国产精品电影人久久| 国产网站一区二区三区| 亚洲激情图片小说视频| 国产自产2019最新不卡| 欧美日本高清视频在线观看| 国产女同互慰高潮91漫画| 图片区小说区国产精品视频| 国产成人av资源| 91精品国产麻豆| 亚洲国产成人精品视频| www.久久久久久久久| 久久久久国产精品麻豆ai换脸| 亚洲国产综合人成综合网站| 成人丝袜高跟foot| 久久影院视频免费| 日本在线不卡视频| 欧美精品国产精品| 一区二区三区欧美久久| 99久久婷婷国产| 国产欧美一区二区精品性| 激情图片小说一区| 欧美变态凌虐bdsm| 美女网站色91| 日韩欧美中文字幕精品| 日韩av二区在线播放| 欧美精品精品一区| 日韩电影在线一区| 欧美一级国产精品| 免费在线观看一区| 日韩欧美一区二区免费| 日韩成人av影视| 日韩视频一区二区三区在线播放 | 国产毛片精品视频| 日韩色在线观看| 韩国av一区二区三区四区| 精品国产一二三| 韩国精品主播一区二区在线观看 | 久久在线观看免费| 国内一区二区视频| 欧美激情中文不卡| 风间由美一区二区三区在线观看| 久久久精品综合| 国产成人av资源| 综合婷婷亚洲小说| 欧美亚洲高清一区二区三区不卡| 亚洲一区成人在线| 91精品国产综合久久久久久久| 亚洲chinese男男1069| 欧美一区二区视频网站| 久久99国产精品麻豆| 精品福利av导航| 成人免费看视频| 一区二区三区四区不卡视频| 欧美三区在线观看| 精品一区二区三区免费播放| 国产丝袜欧美中文另类| 91色九色蝌蚪| 免费av网站大全久久| 国产午夜精品久久| 91黄视频在线| 精品一区免费av| 国产精品美女一区二区在线观看| 色婷婷久久久久swag精品| 日日夜夜精品免费视频| 国产色爱av资源综合区| 欧洲一区二区三区在线| 精品亚洲欧美一区| 一区二区三区在线免费观看 | 亚洲成人激情av| 欧美精品一区二区三区蜜桃| www.亚洲免费av| 日本怡春院一区二区| 国产精品欧美久久久久一区二区 | 欧美一区二区久久久| 成人综合婷婷国产精品久久免费| 亚洲资源中文字幕| 久久久久久一二三区| 欧美日韩一区二区三区高清| 精品综合久久久久久8888| 亚洲精品日日夜夜| 久久精品一区二区三区四区| 欧美日韩一区在线| 成人av电影在线网| 激情综合网最新| 亚洲一区二区四区蜜桃| 国产精品久久一级| 欧美成人vr18sexvr| 欧美在线高清视频| 97成人超碰视| 国产精品99久久久| 美女视频免费一区| 亚洲国产aⅴ天堂久久| 综合久久久久久| 久久久夜色精品亚洲| 在线播放一区二区三区| 色婷婷综合激情| 成人免费不卡视频| 国产盗摄一区二区| 麻豆精品国产91久久久久久| 亚洲一区二区三区影院| 国产精品国产三级国产专播品爱网 | 欧美一区日本一区韩国一区| 99精品热视频| 成人激情小说网站| 国产成人日日夜夜| 国产美女av一区二区三区| 奇米一区二区三区| 婷婷激情综合网| 五月婷婷色综合| 亚洲第一久久影院| 亚洲午夜久久久久久久久电影网| 亚洲欧美欧美一区二区三区| 国产精品毛片高清在线完整版| 久久亚洲捆绑美女| 国产丝袜在线精品| 国产精品日产欧美久久久久| 国产日韩欧美一区二区三区综合| 精品91自产拍在线观看一区| 精品少妇一区二区三区日产乱码 | 欧美一区二区三区在| 欧美精品九九99久久| 91精品免费在线| 日韩欧美一二区| 精品不卡在线视频| 国产午夜亚洲精品理论片色戒| 国产亚洲美州欧州综合国| 久久综合狠狠综合久久激情| 久久久亚洲精品石原莉奈| 国产三级久久久| 国产精品的网站| 亚洲尤物在线视频观看| 亚洲成人黄色小说| 激情图区综合网| 成人性生交大片免费看中文| 色婷婷久久综合| 欧美欧美午夜aⅴ在线观看| 日韩一区二区不卡| 亚洲国产精品99久久久久久久久| 欧美国产精品v| 一区二区三区久久久| 免费国产亚洲视频| 国产精品综合一区二区三区| 99久久精品国产麻豆演员表| 欧美系列在线观看| 精品国产免费一区二区三区四区| 中日韩av电影| 午夜精品福利一区二区三区av| 久久99精品一区二区三区三区| 成人三级伦理片| 欧美另类久久久品| 国产精品丝袜久久久久久app| 亚洲乱码国产乱码精品精可以看| 婷婷综合另类小说色区| 高清在线不卡av| 91精品国产色综合久久不卡蜜臀| 久久久99精品免费观看不卡| 亚洲国产aⅴ成人精品无吗| 国内不卡的二区三区中文字幕 | 欧美在线短视频| 国产亚洲一区二区三区在线观看| 一区二区三区四区蜜桃| 国产在线播放一区| 欧美亚洲精品一区| 中文字幕av一区二区三区免费看 | 激情久久五月天| 欧美亚洲尤物久久| 国产精品免费视频一区| 日av在线不卡| 在线亚洲+欧美+日本专区| 久久综合久久久久88| 亚洲1区2区3区视频| 成人午夜在线视频| 日韩精品一区二区三区视频| 一区二区三区在线免费播放| 国产精品综合在线视频| 欧美一区二区视频在线观看2020| 亚洲美女免费视频| 国产91高潮流白浆在线麻豆| 欧美一区二区二区| 亚洲国产欧美在线| 日本黄色一区二区| 国产精品无码永久免费888| 精品在线观看免费| 91精品国产福利在线观看| 亚洲精品成人精品456| av电影天堂一区二区在线 | 美女视频黄a大片欧美| 欧美亚洲综合色| 樱桃视频在线观看一区| 成人激情小说乱人伦| 欧美激情一二三区| 国产乱码精品1区2区3区| 精品久久久久久久人人人人传媒| 日韩高清电影一区| 欧美一区二区视频观看视频| 奇米精品一区二区三区在线观看| 欧洲精品中文字幕| 亚洲一区二区精品视频| 欧美亚洲免费在线一区|