scaling-tree.tcl
上传用户:rrhhcc
上传日期:2015-12-11
资源大小:54129k
文件大小:1k
源码类别:

通讯编程

开发平台:

Visual C++

  1. #! ../../ns
  2. source scaling-defaults.tcl
  3. # Usage tree.tcl -rand 1.0 -det 0.05 -seed -size $max >! tmp.dat
  4. # defaults 
  5. set size 10
  6. set det 0.0
  7. set rand 1.0
  8. set delay 10.0
  9. if {$argc == 0} {
  10.         puts "Usage: $argv0 [-det $det] [-rand $rand] [-seed] [-size $size] [-delay $delay]"
  11.         exit 1
  12. }
  13. # regexp {^(.+)..*$} $argv0 match ext
  14. for {set i 0} {$i < $argc} {incr i} {
  15.         set opt [lindex $argv $i]
  16.         if {$opt == "-size"} {
  17.                 set size [lindex $argv [incr i]]
  18.         } elseif {$opt == "-det"} {
  19.                 set det [lindex $argv [incr i]]
  20.         } elseif {$opt == "-rand"} {
  21.                 set rand [lindex $argv [incr i]]
  22.         } elseif {$opt == "-delay"} {
  23.                 set delay [lindex $argv [incr i]]
  24.         } elseif {$opt == "-seed"} {
  25. ns-random 0
  26.         } 
  27. }
  28. #                     S
  29. #                     |
  30. #                     X Packet loss occurs here
  31. #                     | 
  32. #                     | Delta_
  33. #                     |
  34. #                     R
  35. #                   /   
  36. #                  R     R
  37. #                 /    /  delta_
  38. #                R   R R   R
  39. #                     .
  40. #                     .
  41. #                     .
  42. #
  43. set ns [new Simulator]
  44. set tree [new Topology/BTree $size]
  45. $tree set det_ $det
  46. $tree set rand_ $rand
  47. $tree set delay_ $delay
  48. puts "D     = [$tree set det_]"
  49. puts "R     = [$tree set rand_]"
  50. puts "Delay = [$tree set delay_]"
  51. puts "Size  = $size"
  52. $ns at 0.0 "$tree flood 1"
  53. $ns run