set loss_module [novo ErrorMode] $ loss_module set rate_ 0.1
definir ns [novo simulador] $ ns cor Vermelho $ ns cor Azul
$ set nf [abrir out.nam w] $ ns namtrace-all $ nf
defina tf [abrir out.tr w] set windowVsTime2 [open WindowVsTimeNReno w] $ ns trace-all $ tf
proc finish {} { global ns nf tf $ ns flush-trace fechar $ nf cose $ tf exec nam out.nam & amp; sair 0 }
set n0 [ns $ ns] set n1 [ns $ ns] set n2 [ns $ ns] set n3 [$ ns node]
$ ns em 0,1 "n1 label \" CBR \ "" $ ns em 1.0 "n0 label \" FTP \ ""
$ ns duplex-link $ n0 $ n2 2Mb 10 ms DropTail $ ns duplex-link $ n1 $ n2 2Mb 10 ms DropTail $ ns simplex-link $ n2 $ n3 0.07Mb 20ms DropTail $ ns simplex-link $ n3 $ n2 0.07Mb 20ms Droptail
$ ns limite da fila $ n2 $ n3 10
$ ns simplex-link op $ n2 $ n3 queuePos 0.5
set loss_module [novo ErrorModel] $ loss_module set rate_ 0,2 $ loss_module ranvar [new RandomVariable / Uniform] $ loss_module drop-target [novo agente / nulo] $ ns lossmodel $ loss_module $ n2 $ n3
$ ns em 624,5 "$ ns detach-agent $ n0 $ tcp; $ ns detach-agent $ n3 $ sink"
$ ns em 625,0 "acabamento" $ ns é executado
O erro que estou recebendo depois de executar o código acima é o seguinte:
nome do comando inválido
"ErrorMode"
durante a execução
"ErrorMode create _o3"
invocado de dentro
"catch" $ className cria $ o $ args "msg"
invocado de dentro
"if [catch" $ className criar $ o $ args "msg] {
if [string match "__FAILED_SHADOW_OBJECT_" $ msg] {
excluir $ o
return ""
}
global errorInfo
erro "class $ ..."
(procedure "new" line 3)
invoked from within
"novo ErrorMode"
invoked from within
"set loss_module [new ErrorMode]"
(file "u.tcl" line 2)