blob: 454272c3d32c5abdf6718359a36f9f0552016c4f [file] [log] [blame]
# Simple example to show how names work both without and with a mount table
# and the difference between resolve and resolveMT.
set localaddr=--veyron.tcp.address=127.0.0.1:0
setRoots ""
# A 'stand-alone' server
echoServer -- $localaddr "text" ""
set es=$_
eval $es
eval $es
read $es
set esName=$NAME
set esAddr=$ADDR
echoClient $esName "test"
set ec=$_
read $ec line
assert $line "text: test"
stop $es
wait $ec
# now use a nameserver.
root -- $localaddr
eval $_
set root=$MT_NAME
set NAMESPACE_ROOT=$root
echoServer -- $localaddr "text2" "a/b"
set es=$_
eval $es
set es_name=$NAME
read $es
set es_addr=$ADDR
echoClient "a/b" "test 2"
set ec=$_
read $ec line
assert $line "text2: test 2"
# resolve will return the server's address
setRoots $root
resolve a/b
set r=$_
eval $r
assert $RN 2
eval $r
set ep1=$R0
eval $r
set ep2=$R1
assertOneOf $es_name $ep1 $ep2
# resolveMT will return the mount table's address (the part before the //)
resolveMT a/b
set r=$_
eval $r
assert $RN 1
eval $r
assert $R0 $root/a/b
stop $es