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

📄 ctrrpcomp.tcl

📁 对IEEE 802.11e里的分布式信道接入算法EDCA进行改进
💻 TCL
字号:
## tcl/ctr-mcast/CtrRPComp.tcl## Copyright (C) 1997 by USC/ISI# All rights reserved.                                            #                                                                # Redistribution and use in source and binary forms are permitted# provided that the above copyright notice and this paragraph are# duplicated in all such forms and that any documentation, advertising# materials, and other materials related to such distribution and use# acknowledge that the software was developed by the University of# Southern California, Information Sciences Institute.  The name of the# University may not be used to endorse or promote products derived from# this software without specific prior written permission.# # THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED# WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.# # Contributed by Polly Huang (USC/ISI), http://www-scf.usc.edu/~bhuang# Class CtrRPCompCtrRPComp instproc init sim {	$self set ns_ $sim	$self next}    CtrRPComp instproc compute-rpset {} {	$self instvar ns_	### initialization	foreach node [$ns_ all-nodes-list] {		set connected($node) 0	}	set urtl [$ns_ get-routelogic]		### connected region algorithm	foreach node [$ns_ all-nodes-list] {		foreach {vertix lvertix} [array get ldomain] {			if {[$urtl lookup [$node id] [$vertix id]] >= 0} {				lappend ldomain($vertix) $node				set connected($node) 1				break			}		}				if {!$connected($node)} {			set ldomain($node) $node			set connected($node) 1		}	}	### for each region, set rpset	foreach {vnode lvertix} [array get ldomain] {		set hasbsr 0		set rpset ""		### find rpset for the region		foreach vertix $lvertix {			set class_info [$vertix info class]			if {$class_info != "LanNode"} {				set ctrdm [[$vertix getArbiter] getType "CtrMcast"]				if [$ctrdm set c_bsr_] {set hasbsr 1}				if [$ctrdm set c_rp_] {					lappend rpset $vertix				}			}		}		foreach vertix $lvertix {			set class_info [$vertix info class]			if {$class_info != "LanNode"} {				set ctrdm [[$vertix getArbiter] getType "CtrMcast"]				if $hasbsr {					$ctrdm set-rpset $rpset				} else {					$ctrdm set-rpset ""					puts "no c_bsr"				}			}		}	}}

⌨️ 快捷键说明

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