blob: 56bb9609dedc8155d6fc743e4748b0c5da153ac4 [file] [log] [blame]
cache off
set localaddr=--veyron.tcp.address=127.0.0.1:0
root -- $localaddr
eval $_
set root=$MT_NAME
set NAMESPACE_ROOT=$root
setRoots $NAMESPACE_ROOT
# run a non-proxied echo server
echoServer -- $localaddr noproxy echo/noproxy
set esnp=$_
eval $esnp
set NP_ECHOS_NAME=$NAME
eval $esnp
set NP_ECHOS_ADDR=$ADDR
# run a proxy server
proxyd -- $localaddr p1
set proxy=$_
# PROXY_ADDR=<address of proxy>
eval $proxy
# PROXY_NAME=<name of proxy>
eval $proxy
read $proxy
splitEP $PROXY_ADDR
assert $PN 6
set PROXY_ADDRESS=$P2
set PROXY_RID=$P3
# TODO(cnicolaou): figure out why ls appears to run slowly when a proxy is
# running, maybe a problem with the mount table.
#ls ...
#set l=$_
#eval $l
#assert $RN 3
#wait $l
echoServer -- $localaddr --veyron.proxy=p1 withproxy echo/withproxy
set eswp=$_
eval $eswp
set ECHOS_NAME=$NAME
eval $eswp
set ECHOS_ADDR=$ADDR
splitEP $ADDR
set ECHOS_RID=$P3
#ls ...
#set l=$_
#eval $l
#assert $RN 4
#wait $l
print "root mt:" $NAMESPACE_ROOT
print "no proxy: " $NP_ECHOS_ADDR
print "with proxy: " $ECHOS_ADDR
# The ipc.Server implementation publishes the proxy supplied address
# in the mount table
# TODO(cnicolaou): we also need a way of publishing the local address, right
# only the proxy's address appears.
resolve echo/withproxy
set rs=$_
eval $rs
assert $RN 1
eval $rs
splitEP $R0
assert $PN 6
assert $P2 $PROXY_ADDRESS
assert $P3 $ECHOS_RID
ls -l echo/withproxy
wait $_
ls -l echo/noproxy
wait $_
echoClient echo/withproxy "ohh"
set ec=$_
read $ec l
assert $l "withproxy: ohh"
stop $eswp
stop $esnp
stop $proxy