# SUCH DAMAGE.
#
-# $Id: eventsched.tcl,v 1.6 2008/06/24 06:44:48 marko Exp $
+# $Id: eventsched.tcl,v 1.7 2008/07/17 13:09:01 marko Exp $
proc evsched {} {
+ global evlogfile
# XXX eid should be arg to evsched()
upvar 0 ::cf::[set ::curcfg]::eid eid
upvar 0 ::cf::[set ::curcfg]::oper_mode oper_mode
}
}
set changed 1
+
+ if { $evlogfile != 0 } {
+ set peers [linkPeers $object]
+ set n0 [lindex $peers 0]
+ set n1 [lindex $peers 1]
+ set ifc0 [ifcByPeer $n0 $n1]
+ set ifc1 [ifcByPeer $n1 $n0]
+
+ set delay [getLinkDelay $object]
+ if { $delay == "" } {
+ set delay 0
+ }
+ set ber [getLinkBER $object]
+ if { $ber == "" } {
+ set ber 0
+ }
+ set dup [getLinkDup $object]
+ if { $dup == "" } {
+ set dup 0
+ }
+ set bw [getLinkBandwidth $object]
+ if { $bw == "" } {
+ set bw 0
+ }
+
+ set cfg "$delay $ber $dup $bw"
+ puts $evlogfile \
+ "[clock seconds] $object $n0:$ifc0 $n1:$ifc1 $cfg"
+ flush $evlogfile
+ }
}
}
proc sched_init {} {
+ global evlogfile env
upvar 0 ::cf::[set ::curcfg]::node_list node_list
upvar 0 ::cf::[set ::curcfg]::link_list link_list
upvar 0 ::cf::[set ::curcfg]::event_t0 event_t0
set eventqueue [lsort -index 0 -integer $eventqueue]
+ if {[info exists env(IMUNES_EVENTLOG)]} {
+ set evlogfile [open $env(IMUNES_EVENTLOG) a]
+ } else {
+ set evlogfile 0
+ }
+
set sched_init_done 1
set event_t0 [clock seconds]
}