blob: c957371b45e15982290a3b3f9163874a30550bfa [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
# 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 1
eval $r
assert $R0 $es_name//
# 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