| cache off |
| |
| set localaddr=--veyron.tcp.address=127.0.0.1:0 |
| set ws=--veyron.tcp.protocol=ws |
| |
| root -- $localaddr |
| set m=$_ |
| read $m |
| eval $m |
| set root=$MT_NAME |
| set NAMESPACE_ROOT=$root |
| setRoots $NAMESPACE_ROOT |
| print $NAMESPACE_ROOT |
| |
| # run a non-proxied echo server |
| echoServer -- $localaddr $ws $localaddr noproxy echo/noproxy |
| set esnp=$_ |
| read $esnp |
| eval $esnp |
| set NP_ECHOS_NAME=$NAME |
| |
| echoClient echo/noproxy "ohh" |
| set ec=$_ |
| read $ec l |
| assert $l "noproxy: ohh" |
| |
| # run a proxy server |
| proxyd -- $localaddr $ws $localaddr p1 |
| set proxy=$_ |
| read $proxy |
| # PROXY_NAME=<name of proxy> |
| eval $proxy |
| splitEP $PROXY_NAME |
| assert $PN 7 |
| set PROXY_ADDR=$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 $ws $localaddr --veyron.proxy=p1 withproxy echo/withproxy |
| set eswp=$_ |
| read $eswp |
| eval $eswp |
| set ECHOS_NAME=$NAME |
| splitEP $NAME |
| set ECHOS_RID=$P3 |
| |
| echoClient echo/withproxy "ahh" |
| set ec=$_ |
| read $ec l |
| assert $l "withproxy: ahh" |
| |
| #ls ... |
| #set l=$_ |
| #eval $l |
| #assert $RN 4 |
| #wait $l |
| |
| print "root mt:" $NAMESPACE_ROOT |
| print "proxy:" $PROXY_ADDR |
| print "no proxy: " $NP_ECHOS_NAME |
| print "with proxy: " $ECHOS_NAME |
| # The ipc.Server implementation publishes the proxy supplied address and |
| # the local address in the mount table |
| |
| resolve echo/withproxy |
| set rs=$_ |
| stop $rs |
| quit |
| eval $rs |
| # This will be 4 when ipc.Listen can return all of the endpoints in use, |
| # then the proxy can return more than one address. We only see 3 endpoints |
| # because the proxy server only returns one to the echo server. |
| assert $RN 3 |
| |
| eval $rs |
| set ep1=$R0 |
| eval $rs |
| set ep2=$R1 |
| eval $rs |
| set ep3=$R2 |
| #eval $rs |
| #set ep4=$R3 |
| |
| splitEP $ep1 |
| assert $PN 7 |
| set ep1_addr=$P2 |
| set rid=$P3 |
| splitEP $ep2 |
| set ep2_addr=$P2 |
| splitEP $ep3 |
| set ep3_addr=$P2 |
| #splitEP $ep4 |
| #set ep4_addr=$P2 |
| |
| assertOneOf $PROXY_ADDR $ep1_addr $ep2_addr $ep3_addr |
| # $ep4_addr |
| assert $rid $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 |
| |