[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

setting the CtrMcast core



http://www-mash.cs.berkeley.edu/dist/archive/ns-users/9905/0301.html

That really was me barking up the wrong tree; it all comes down to
the exact syntax you use to pass a list to set_c_rp, which is... odd.

It turns out I can set the RP (rendezvous point) of a centralised
multicast tree at the start of a simulation quite easily with e.g.:

$mrthandle set_c_rp [list $node0 ]

(can't change it in the middle of simulation, though; I was naively
 expecting compute-mroutes to take care of that too. CtrMcast isn't
 quite _that_ dynamic... I should go fiddle with tree types.)

What tripped me up was that section 19.1.2 of nsDoc claims that the
syntax is actually:

$mrthandle set_c_rp {$node0 $node1}

which just doesn't work for me, although you'd expect the parentheses
(okay, perhaps it should be double parentheses to indicate a list
inside the arguments passed to the instproc) to denote a list happily.
There's something I don't understand in how this gets handled.

Strangely, if I actually try and set an actual list of more-than-one
nodes with e.g.:

$mrthandle set_c_rp [list $node0 $node1 ] 

that (or even double parentheses) doesn't work either; I can have a
[list ] of precisely one node only for set_c_rp, and a look at
CtrMcastComp instproc set_c_rp {} and
CtrMcastComp instproc set_c_bsr {}
in ~ns/tcl/ctr-mcast/CtrMcastComp.tcl doesn't suggest why this is,
unless $args is getting corrupted along the way before it gets used,
say. I'm all out of ideas.

Polly, can you please take a look and have a read through section 19
of nsDoc and tweak the example commands in the docs to correspond with
working reality (or better yet, tweak working reality)?

Running ns-2.1b6-13-Apr-99/otcl-1.0a4/tclcl-1.0b8-13-Apr-99, so I'm
pretty much current with CtrMcast apart from naher's LAN support
tweaks. (mcastmonitor still badly broken?)

thanks,

L.

<[email protected]>PGP<http://www.ee.surrey.ac.uk/Personal/L.Wood/>

a list of two gives an error message of:

invalid command name "_o19 _o29"
    while executing
"$node getArbiter"
    (procedure "_o882" line 10)
    (CtrMcastComp set_c_rp line 10)
    invoked from within
"$mrthandle set_c_rp [list $n(1) $n(3)]"
    (file
"/a/regan/home/regan/regan7/ccsrnrpg1/eep1lw/ns/lloyd/traffic/ctrtest.tcl"
line 36)
    invoked from within
"source.orig
/a/regan/home/regan/regan7/ccsrnrpg1/eep1lw/ns/lloyd/traffic/ctrtest.tcl"
    ("uplevel" body line 1)
    invoked from within
"uplevel source.orig $fileName"
    (procedure "source" line 12)
    invoked from within
"source $currentpath/$trafficscript"
    (file "meniscus12.tcl" line 517)