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

📄 timer.tcl

📁 对IEEE 802.11e里的分布式信道接入算法EDCA进行改进
💻 TCL
字号:
## A simple timer class.  You can derive a subclass of Timer# to provide a simple mechanism for scheduling events:## 	$self sched $delay -- causes "$self timeout" to be called#				$delay seconds in the future#	$self cancel	   -- cancels any pending scheduled callback# Class TimerTimer instproc init { ns } {	$self set ns_ $ns}# sched is the same as resched; the previous setting is cancelled# and another event is scheduled. No state is kept for the timers.# This is different than the C++ timer API in timer-handler.cc,h; where a # sched aborts if the timer is already set. C++ timers maintain state # (e.g. IDLE, PENDING..etc) that is checked before the timer is scheduled.Timer instproc sched delay {	$self instvar ns_	$self instvar id_	$self cancel	set id_ [$ns_ after $delay "$self timeout"]}Timer instproc destroy {} {	$self cancel}Timer instproc cancel {} {	$self instvar ns_	$self instvar id_	if [info exists id_] {		$ns_ cancel $id_		unset id_	}}# resched and expire are added to have a similar API to C++ timers.Timer instproc resched delay {	$self sched $delay }# the subclass must provide the timeout functionTimer instproc expire {} {	$self timeout}# Interface timersClass Timer/Iface -superclass TimerTimer/Iface instproc init { protocol source group oiface sim} {	$self instvar proto_ src_ grp_ oif_	$self next $sim	set proto_ $protocol	set src_ $source	set grp_ $group	set oif_ $oiface}Timer/Iface instproc schedule {} {	$self sched [[$self info class] set timeout]}

⌨️ 快捷键说明

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