blob: 454272c3d32c5abdf6718359a36f9f0552016c4f [file] [log] [blame]
Cosmos Nicolaou9c9918d2014-09-23 08:45:56 -07001# Simple example to show how names work both without and with a mount table
2# and the difference between resolve and resolveMT.
3
Cosmos Nicolaou4e213d72014-10-26 22:21:52 -07004set localaddr=--veyron.tcp.address=127.0.0.1:0
5
Cosmos Nicolaou4b5f70f2014-12-05 12:42:58 -08006setRoots ""
7
Cosmos Nicolaou9c9918d2014-09-23 08:45:56 -07008# A 'stand-alone' server
Cosmos Nicolaou4e213d72014-10-26 22:21:52 -07009echoServer -- $localaddr "text" ""
Cosmos Nicolaou9c9918d2014-09-23 08:45:56 -070010set es=$_
11eval $es
12eval $es
13read $es
14set esName=$NAME
15set esAddr=$ADDR
16
17echoClient $esName "test"
18set ec=$_
19read $ec line
20assert $line "text: test"
21
Cosmos Nicolaou19a7cd42014-09-25 09:52:16 -070022stop $es
Cosmos Nicolaou9c9918d2014-09-23 08:45:56 -070023wait $ec
24
25# now use a nameserver.
Cosmos Nicolaou4e213d72014-10-26 22:21:52 -070026root -- $localaddr
Cosmos Nicolaou9c9918d2014-09-23 08:45:56 -070027eval $_
28set root=$MT_NAME
29
30set NAMESPACE_ROOT=$root
Cosmos Nicolaou4e213d72014-10-26 22:21:52 -070031echoServer -- $localaddr "text2" "a/b"
Cosmos Nicolaou9c9918d2014-09-23 08:45:56 -070032set es=$_
33eval $es
34set es_name=$NAME
Cosmos Nicolaou9c9918d2014-09-23 08:45:56 -070035read $es
Cosmos Nicolaou4e213d72014-10-26 22:21:52 -070036set es_addr=$ADDR
Cosmos Nicolaou9c9918d2014-09-23 08:45:56 -070037
38echoClient "a/b" "test 2"
39set ec=$_
40read $ec line
41assert $line "text2: test 2"
42
43# resolve will return the server's address
44setRoots $root
45resolve a/b
46set r=$_
47eval $r
Cosmos Nicolaou28f35c32014-12-01 20:36:27 -080048assert $RN 2
Cosmos Nicolaou9c9918d2014-09-23 08:45:56 -070049eval $r
Cosmos Nicolaou28f35c32014-12-01 20:36:27 -080050set ep1=$R0
51eval $r
52set ep2=$R1
53assertOneOf $es_name $ep1 $ep2
Cosmos Nicolaou9c9918d2014-09-23 08:45:56 -070054
55# resolveMT will return the mount table's address (the part before the //)
56resolveMT a/b
57set r=$_
58eval $r
59assert $RN 1
60eval $r
Cosmos Nicolaou28f35c32014-12-01 20:36:27 -080061assert $R0 $root/a/b
Cosmos Nicolaou9c9918d2014-09-23 08:45:56 -070062
Cosmos Nicolaou19a7cd42014-09-25 09:52:16 -070063stop $es