blob: eb5cefcce4f93c1fe86194f3647965828f3632a1 [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
4# A 'stand-alone' server
5echoServer "text" ""
6set es=$_
7eval $es
8eval $es
9read $es
10set esName=$NAME
11set esAddr=$ADDR
12
13echoClient $esName "test"
14set ec=$_
15read $ec line
16assert $line "text: test"
17
18wait $es
19wait $ec
20
21# now use a nameserver.
22root
23eval $_
24set root=$MT_NAME
25
26set NAMESPACE_ROOT=$root
27echoServer "text2" "a/b"
28set es=$_
29eval $es
30set es_name=$NAME
31set es_addr=$ADDR
32read $es
33
34echoClient "a/b" "test 2"
35set ec=$_
36read $ec line
37assert $line "text2: test 2"
38
39# resolve will return the server's address
40setRoots $root
41resolve a/b
42set r=$_
43eval $r
44assert $RN 1
45eval $r
46assert $R0 $es_name//
47
48# resolveMT will return the mount table's address (the part before the //)
49resolveMT a/b
50set r=$_
51eval $r
52assert $RN 1
53eval $r
54assert $R0 $root//a/b
55