⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test-suite-cbq-v1.tcl

📁 柯老师网站上找到的
💻 TCL
📖 第 1 页 / 共 3 页
字号:
	set qdisc [$vidClass qdisc]	$qdisc set queue-limit $queue	set qdisc [$dataClass qdisc]	$qdisc set queue-limit $queue	$link bind $vidClass 2 	$link bind $audioClass 1	$link bind $dataClass 3	three_cbrs	[ns link $r1 $k1] set algorithm $CBQalgorithm	#[ns link $r1 $k1] trace [openTrace3 $stopTime test_Min1]	openTrace2 $stopTime test_cbqMin1_MinIdle_set	ns run}## deleted Min2, which was identical to Min1 except for# a different value of minidle (which is no longer used)### Min3 is like Min1, except extradelay is set to 0.2#proc test_cbqMin3 {} {	global s1 s2 s3 s4 r1 k1 	set Mbps 1.5	set queue 20	set stopTime 4.1	set CBQalgorithm 2	create_graph $stopTime cbq $queue 	set link [ns link $r1 $k1]	set topClass [ns_create_class1 none none 0.98 auto -1.0 8 1 0 $Mbps]        set audioClass [ns_create_class1 $topClass none 0.03 auto auto \		1 0 0.2 $Mbps]	set vidClass [ns_create_class1 $topClass $topClass \		0.32 auto auto 1 0 0 $Mbps] 	set dataClass [ns_create_class1 $topClass $topClass \		0.65 auto auto 2 0 0 $Mbps] 	$link insert $topClass	$link insert $vidClass 	$link insert $audioClass        $link insert $dataClass	set qdisc [$audioClass qdisc]	$qdisc set queue-limit $queue	set qdisc [$vidClass qdisc]	$qdisc set queue-limit $queue	set qdisc [$dataClass qdisc]	$qdisc set queue-limit $queue	$link bind $vidClass 2 	$link bind $audioClass 1	$link bind $dataClass 3	three_cbrs	[ns link $r1 $k1] set algorithm $CBQalgorithm	openTrace2 $stopTime test_cbqMin3_ExtraDelay_set	ns run}# Min1, but with Ancestor-Only link-sharing.# proc test_cbqMin4 {} {	global s1 s2 s3 s4 r1 k1 	set Mbps 1.5	set queue 20	set stopTime 4.1	set CBQalgorithm 0	create_graph $stopTime cbq $queue 	set link [ns link $r1 $k1]	set topClass [ns_create_class1 none none 0.98 auto -1.0 8 1 0 $Mbps]        set audioClass [ns_create_class1 $topClass none 0.03 auto auto \		1 0 0 $Mbps]	set vidClass [ns_create_class1 $topClass $topClass \		0.32 auto auto 1 0 0 $Mbps] 	set dataClass [ns_create_class1 $topClass $topClass \		0.65 auto auto 2 0 0 $Mbps] 	$link insert $topClass	$link insert $vidClass 	$link insert $audioClass        $link insert $dataClass	set qdisc [$audioClass qdisc]	$qdisc set queue-limit $queue	set qdisc [$vidClass qdisc]	$qdisc set queue-limit $queue	set qdisc [$dataClass qdisc]	$qdisc set queue-limit $queue	$link bind $vidClass 2 	$link bind $audioClass 1	$link bind $dataClass 3	three_cbrs	[ns link $r1 $k1] set algorithm $CBQalgorithm	openTrace2 $stopTime test_cbqMin4_MinIdle_set	ns run}# # deleted Min5, which was identical to Min4 except for# a different value of minidle (which is no longer used)# # # ## Min6 is like Min4, except extradelay is set to 0.2#proc test_cbqMin6 {} {	global s1 s2 s3 s4 r1 k1 	set Mbps 1.5	set queue 20	set stopTime 4.1	set CBQalgorithm 0	create_graph $stopTime cbq $queue 	set link [ns link $r1 $k1]	set topClass [ns_create_class1 none none 0.98 auto -1.0 8 1 0 $Mbps]        set audioClass [ns_create_class1 $topClass none 0.03 auto auto \		1 0 0.2 $Mbps]	set vidClass [ns_create_class1 $topClass $topClass \		0.32 auto auto 1 0 0 $Mbps] 	set dataClass [ns_create_class1 $topClass $topClass \		0.65 auto auto 2 0 0 $Mbps] 	$link insert $topClass	$link insert $vidClass 	$link insert $audioClass        $link insert $dataClass	set qdisc [$audioClass qdisc]	$qdisc set queue-limit $queue	set qdisc [$vidClass qdisc]	$qdisc set queue-limit $queue	set qdisc [$dataClass qdisc]	$qdisc set queue-limit $queue	$link bind $vidClass 2 	$link bind $audioClass 1	$link bind $dataClass 3	three_cbrs	[ns link $r1 $k1] set algorithm $CBQalgorithm	openTrace2 $stopTime test_cbqMin6_ExtraDelay_set	ns run}## With Formal link-sharing, the dataClass gets most of the bandwidth.# With Ancestor-Only link-sharing, the audioClass generally gets#   to borrow from the not-overlimit root class.# With Top-Level link-sharing, the audioClass is often blocked#   from borrowing by an underlimit dataClass# With Ancestor-Only link-sharing, the top class cannot be#   allocated 100% of the link bandwidth.#proc test_cbqTwoAO {} {	global s1 s2 s3 s4 r1 k1 	set queue 20	set Mbps 1.5	set stopTime 8.1	set CBQalgorithm 0	create_graph $stopTime cbq $queue	set link [ns link $r1 $k1]	set topClass [ns_create_class1 none none 0.98 auto -1.0 8 1 0 $Mbps]        set audioClass [ns_create_class1 $topClass $topClass \               0.01 auto auto 1 0 0 $Mbps]	set dataClass [ns_create_class1 $topClass $topClass \		0.99 auto auto 2 0 0 $Mbps] 	$link insert $topClass 	$link insert $audioClass        $link insert $dataClass	set qdisc [$audioClass qdisc]	$qdisc set queue-limit $queue	set qdisc [$dataClass qdisc]	$qdisc set queue-limit $queue 	$link bind $audioClass 1	$link bind $dataClass 2        set cbr0 [ns_create_cbr $s1 $k1 190 0.001 1]        set cbr1 [ns_create_cbr $s2 $k1 500 0.002 2]        ns at 0.0 "$cbr0 start"        ns at 0.0 "$cbr1 start"	[ns link $r1 $k1] set algorithm $CBQalgorithm	openTrace4 $stopTime test_cbqTwoAO	ns run}# This has a smaller value for maxidle for the root class. proc test_cbqTwoAO2 {} {	global s1 s2 s3 s4 r1 k1 	set Mbps 1.5	set stopTime 8.1	set queue 20	set CBQalgorithm 0	create_graph $stopTime cbq $queue	set link [ns link $r1 $k1]	set topClass [ns_create_class none none 0.98 0.005 -1.0 8 1 0]        set audioClass [ns_create_class1 $topClass $topClass \               0.01 auto auto 1 0 0 $Mbps]	set dataClass [ns_create_class1 $topClass $topClass \		0.99 auto auto 2 0 0 $Mbps] 	$link insert $topClass 	$link insert $audioClass        $link insert $dataClass	set qdisc [$audioClass qdisc]	$qdisc set queue-limit $queue	set qdisc [$dataClass qdisc]	$qdisc set queue-limit $queue 	$link bind $audioClass 1	$link bind $dataClass 2        set cbr0 [ns_create_cbr $s1 $k1 190 0.001 1]        set cbr1 [ns_create_cbr $s2 $k1 500 0.002 2]        ns at 0.0 "$cbr0 start"        ns at 0.0 "$cbr1 start"	[ns link $r1 $k1] set algorithm $CBQalgorithm	openTrace4 $stopTime test_cbqTwoAO2	ns run}# A higher allocated bandwidth for the root class. proc test_cbqTwoAO3 {} {	global s1 s2 s3 s4 r1 k1 	set Mbps 1.5	set stopTime 8.1	set queue 20	set CBQalgorithm 0	create_graph $stopTime cbq $queue	set link [ns link $r1 $k1]	set topClass [ns_create_class1 none none 0.99 auto -1.0 8 1 0 $Mbps]        set audioClass [ns_create_class1 $topClass $topClass \               0.01 auto auto 1 0 0 $Mbps]	set dataClass [ns_create_class1 $topClass $topClass \		0.99 auto auto 2 0 0 $Mbps] 	$link insert $topClass 	$link insert $audioClass        $link insert $dataClass	set qdisc [$audioClass qdisc]	$qdisc set queue-limit $queue	set qdisc [$dataClass qdisc]	$qdisc set queue-limit $queue 	$link bind $audioClass 1	$link bind $dataClass 2        set cbr0 [ns_create_cbr $s1 $k1 190 0.001 1]        set cbr1 [ns_create_cbr $s2 $k1 500 0.002 2]        ns at 0.0 "$cbr0 start"        ns at 0.0 "$cbr1 start"	[ns link $r1 $k1] set algorithm $CBQalgorithm	openTrace4 $stopTime test_cbqTwoAO3	ns run}## With Formal link-sharing, the dataClass gets most of the bandwidth.# With Ancestor-Only link-sharing, the audioClass generally gets#   to borrow from the not-overlimit root class.# With Top-Level link-sharing, the audioClass is often blocked#   from borrowing by an underlimit dataClass#proc test_cbqTwoTL {} {	global s1 s2 s3 s4 r1 k1 	set Mbps 1.5	set queue 20	set stopTime 8.1	set CBQalgorithm 1	create_graph $stopTime cbq $queue	set link [ns link $r1 $k1]	set topClass [ns_create_class1 none none 1.0 auto -1.0 8 1 0 $Mbps]        set audioClass [ns_create_class1 $topClass $topClass \               0.01 auto auto 1 0 0 $Mbps]	set dataClass [ns_create_class1 $topClass $topClass \		0.99 auto auto 2 0 0 $Mbps] 	$link insert $topClass 	$link insert $audioClass        $link insert $dataClass	set qdisc [$audioClass qdisc]	$qdisc set queue-limit $queue	set qdisc [$dataClass qdisc]	$qdisc set queue-limit $queue 	$link bind $audioClass 1	$link bind $dataClass 2        set cbr0 [ns_create_cbr $s1 $k1 190 0.001 1]        set cbr1 [ns_create_cbr $s2 $k1 500 0.002 2]        ns at 0.0 "$cbr0 start"        ns at 0.0 "$cbr1 start"	[ns link $r1 $k1] set algorithm $CBQalgorithm	openTrace4 $stopTime test_cbqTwoTL	ns run}## With Formal link-sharing, the dataClass gets most of the bandwidth.# With Ancestor-Only link-sharing, the audioClass generally gets#   to borrow from the not-overlimit root class.# With Top-Level link-sharing, the audioClass is often blocked#   from borrowing by an underlimit dataClass#proc test_cbqTwoF {} {	global s1 s2 s3 s4 r1 k1 	set Mbps 1.5	set queue 20	set stopTime 8.1	set CBQalgorithm 2	create_graph $stopTime cbq $queue	set link [ns link $r1 $k1]	set topClass [ns_create_class1 none none 1.0 auto -1.0 8 1 0 $Mbps]        set audioClass [ns_create_class1 $topClass $topClass \               0.01 auto auto 1 0 0 $Mbps]	set dataClass [ns_create_class1 $topClass $topClass \		0.99 auto auto 2 0 0 $Mbps] 	$link insert $topClass 	$link insert $audioClass        $link insert $dataClass	set qdisc [$audioClass qdisc]	$qdisc set queue-limit $queue	set qdisc [$dataClass qdisc]	$qdisc set queue-limit $queue 	$link bind $audioClass 1	$link bind $dataClass 2        set cbr0 [ns_create_cbr $s1 $k1 190 0.001 1]        set cbr1 [ns_create_cbr $s2 $k1 500 0.002 2]        ns at 0.0 "$cbr0 start"        ns at 0.0 "$cbr1 start"	[ns link $r1 $k1] set algorithm $CBQalgorithm	openTrace4 $stopTime test_cbqTwoF	ns run}if { $argc != 1 } {	puts stderr {usage: ns test-suite-cbq.tcl [ cbqWRR cbqPRR cbqAO cbqTL ... ]}	exit 1}if { "[info procs test_$argv]" != "test_$argv" } {	puts stderr "test-suite-cbq.tcl: no such test: $argv"}test_$argv

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -