📄 errmodel.tcl
字号:
if {$opt(perr) == 0} { ErrorModel set enable_ 0 ;# Error module is turned off set opt(perr) 0.1} else { ErrorModel set enable_ 1 ;# Error module is turned on}ErrorModel set markecn_ false ;# Mark ecn instead of dropping on corruptionErrorModel set bandwidth_ $opt(bandwidth) ;# Bandwidth of the linkErrorModel set delay_pkt_ false ;# Delay packet instead of droppingErrorModel set delay_ 0 ;# Time to delay packetErrorModel set rate_ 0 ;# Uniform error rate in pkt or byteset opt(timer_list) [new Errormodel/SelectTimer]####################################################################### ## ChnErrProc: Creates a new error model of type "ErrorModel/MyError" ## setting its parameters ## ## 1 1 ## pbg_G = --------- pbg_B = --------- ## burstBG burstBB ## ## perr pbg_G * pbg_B ## pgb_G = ---------- * ------------------------------------- ## 1 - perr (pGB * pbg_G) + [(1 - pGB) * pbg_B] ## #######################################################################proc ChnErrProc {} { global opt set errObj [new ErrorModel/MyError] set opt(pbg_G) [expr 1.0 / $opt(burstBG).0] set opt(pbg_B) [expr 1.0 / $opt(burstBB).0] set temp1 [expr $opt(perr) / [expr 1.0 - $opt(perr)]] set temp2 [expr $opt(pbg_G) * $opt(pbg_B)] set temp3 [expr [expr $opt(pGB) * $opt(pbg_G)] + [expr [expr 1.0 - $opt(pGB)] * $opt(pbg_B)]] set opt(pgb_G) [expr $temp1 * $temp2 / $temp3] $errObj set-list $opt(timer_list) return $errObj}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -