# 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
