veyron2/naming: renaming MountTable to Namespace
Given the client library interface a different name to the
server MountTable to hopefully reduce confusion!!!
Change-Id: I535aebceb4287a86b1dc4cd9b8b35824079ecc68
diff --git a/examples/rockpaperscissors/common/common.go b/examples/rockpaperscissors/common/common.go
index 63bbadd..5999042 100644
--- a/examples/rockpaperscissors/common/common.go
+++ b/examples/rockpaperscissors/common/common.go
@@ -35,8 +35,8 @@
}
// FindJudge returns a random rock-paper-scissors judge from the mount table.
-func FindJudge(mt naming.MountTable) (string, error) {
- judges, err := findAll(mt, "judge")
+func FindJudge() (string, error) {
+ judges, err := findAll("judge")
if err != nil {
return "", err
}
@@ -47,8 +47,8 @@
}
// FindPlayer returns a random rock-paper-scissors player from the mount table.
-func FindPlayer(mt naming.MountTable) (string, error) {
- players, err := findAll(mt, "player")
+func FindPlayer() (string, error) {
+ players, err := findAll("player")
if err != nil {
return "", err
}
@@ -60,17 +60,18 @@
// FindScoreKeepers returns all the rock-paper-scissors score keepers from the
// mount table.
-func FindScoreKeepers(mt naming.MountTable) ([]string, error) {
- sKeepers, err := findAll(mt, "scorekeeper")
+func FindScoreKeepers() ([]string, error) {
+ sKeepers, err := findAll("scorekeeper")
if err != nil {
return nil, err
}
return sKeepers, nil
}
-func findAll(mt naming.MountTable, t string) ([]string, error) {
+func findAll(t string) ([]string, error) {
start := time.Now()
- c, err := mt.Glob(rt.R().TODOContext(), "rps/"+t+"/*")
+ ns := rt.R().Namespace()
+ c, err := ns.Glob(rt.R().TODOContext(), "rps/"+t+"/*")
if err != nil {
vlog.Infof("mt.Glob failed: %v", err)
return nil, err
diff --git a/examples/rockpaperscissors/impl/impl.go b/examples/rockpaperscissors/impl/impl.go
index c16d0aa..b58a9ef 100644
--- a/examples/rockpaperscissors/impl/impl.go
+++ b/examples/rockpaperscissors/impl/impl.go
@@ -5,20 +5,18 @@
rps "veyron/examples/rockpaperscissors"
"veyron2/ipc"
- "veyron2/naming"
"veyron2/vlog"
)
// RPS implements rockpaperscissors.RockPaperScissorsService
type RPS struct {
- mt naming.MountTable
player *Player
judge *Judge
scoreKeeper *ScoreKeeper
}
-func NewRPS(mt naming.MountTable) *RPS {
- return &RPS{mt: mt, player: NewPlayer(mt), judge: NewJudge(mt), scoreKeeper: NewScoreKeeper()}
+func NewRPS() *RPS {
+ return &RPS{player: NewPlayer(), judge: NewJudge(), scoreKeeper: NewScoreKeeper()}
}
func (r *RPS) Judge() *Judge {
diff --git a/examples/rockpaperscissors/impl/impl_test.go b/examples/rockpaperscissors/impl/impl_test.go
index c8dbf8d..af61955 100644
--- a/examples/rockpaperscissors/impl/impl_test.go
+++ b/examples/rockpaperscissors/impl/impl_test.go
@@ -5,7 +5,6 @@
rps "veyron/examples/rockpaperscissors"
"veyron/examples/rockpaperscissors/impl"
- "veyron/runtimes/google/naming/mounttable"
mtlib "veyron/services/mounttable/lib"
"veyron2"
@@ -40,15 +39,13 @@
}
func startRockPaperScissors(t *testing.T, rt veyron2.Runtime, mtAddress string) (*impl.RPS, func()) {
- mt, err := mounttable.New(rt, mtAddress)
- if err != nil {
- t.Fatalf("mounttable.New failed: %v", err)
- }
- server, err := rt.NewServer(veyron2.MountTable(mt))
+ ns := rt.Namespace()
+ ns.SetRoots([]string{mtAddress})
+ server, err := rt.NewServer()
if err != nil {
t.Fatalf("NewServer failed: %v", err)
}
- rpsService := impl.NewRPS(mt)
+ rpsService := impl.NewRPS()
if err := server.Register("", ipc.SoloDispatcher(rps.NewServerRockPaperScissors(rpsService), nil)); err != nil {
t.Fatalf("Register failed: %v", err)
}
diff --git a/examples/rockpaperscissors/impl/judge.go b/examples/rockpaperscissors/impl/judge.go
index cdc6229..6dd75a7 100644
--- a/examples/rockpaperscissors/impl/judge.go
+++ b/examples/rockpaperscissors/impl/judge.go
@@ -10,7 +10,6 @@
rps "veyron/examples/rockpaperscissors"
"veyron/examples/rockpaperscissors/common"
- "veyron2/naming"
"veyron2/rt"
"veyron2/vlog"
)
@@ -21,7 +20,6 @@
)
type Judge struct {
- mt naming.MountTable
lock sync.Mutex
games map[rps.GameID]*gameInfo
gamesRun common.Counter
@@ -64,8 +62,8 @@
score rps.ScoreCard
}
-func NewJudge(mt naming.MountTable) *Judge {
- return &Judge{mt: mt, games: make(map[rps.GameID]*gameInfo)}
+func NewJudge() *Judge {
+ return &Judge{games: make(map[rps.GameID]*gameInfo)}
}
func (j *Judge) Stats() int64 {
@@ -209,7 +207,7 @@
}
// Send the score card to the score keepers.
- keepers, err := common.FindScoreKeepers(j.mt)
+ keepers, err := common.FindScoreKeepers()
if err != nil || len(keepers) == 0 {
vlog.Infof("No score keepers: %v", err)
return
diff --git a/examples/rockpaperscissors/impl/player.go b/examples/rockpaperscissors/impl/player.go
index 432cee2..b800a87 100644
--- a/examples/rockpaperscissors/impl/player.go
+++ b/examples/rockpaperscissors/impl/player.go
@@ -10,21 +10,19 @@
"veyron/examples/rockpaperscissors/common"
"veyron2"
- "veyron2/naming"
"veyron2/rt"
"veyron2/vlog"
)
type Player struct {
- mt naming.MountTable
lock sync.Mutex
gamesPlayed common.Counter
gamesWon common.Counter
gamesInProgress common.Counter
}
-func NewPlayer(mt naming.MountTable) *Player {
- return &Player{mt: mt}
+func NewPlayer() *Player {
+ return &Player{}
}
func (p *Player) Stats() (played, won int64) {
@@ -41,7 +39,7 @@
}
func (p *Player) InitiateGame() error {
- judge, err := common.FindJudge(p.mt)
+ judge, err := common.FindJudge()
if err != nil {
vlog.Infof("FindJudge: %v", err)
return err
@@ -53,7 +51,7 @@
}
vlog.VI(1).Infof("Created gameID %q on %q", gameID, judge)
- opponent, err := common.FindPlayer(p.mt)
+ opponent, err := common.FindPlayer()
if err != nil {
vlog.Infof("FindPlayer: %v", err)
return err
diff --git a/examples/rockpaperscissors/rpsbot/main.go b/examples/rockpaperscissors/rpsbot/main.go
index 012d36b..5b06f08 100644
--- a/examples/rockpaperscissors/rpsbot/main.go
+++ b/examples/rockpaperscissors/rpsbot/main.go
@@ -37,7 +37,7 @@
defer server.Stop()
rand.Seed(time.Now().UTC().UnixNano())
- rpsService := impl.NewRPS(r.MountTable())
+ rpsService := impl.NewRPS()
if err := server.Register("", ipc.SoloDispatcher(rps.NewServerRockPaperScissors(rpsService), sflag.NewAuthorizerOrDie())); err != nil {
vlog.Fatalf("Register failed: %v", err)
diff --git a/examples/unresolve/test_util.go b/examples/unresolve/test_util.go
index 7e3ada1..6a470ed 100644
--- a/examples/unresolve/test_util.go
+++ b/examples/unresolve/test_util.go
@@ -110,7 +110,7 @@
}
func (*fortuneCustomUnresolve) UnresolveStep(context ipc.ServerContext) ([]string, error) {
- servers, err := rt.R().MountTable().ResolveToMountTable(rt.R().NewContext(), "I/want/to/know")
+ servers, err := rt.R().Namespace().ResolveToMountTable(rt.R().NewContext(), "I/want/to/know")
if err != nil {
return nil, err
}
@@ -128,7 +128,7 @@
oa = naming.MakeTerminal(naming.JoinAddressName(ep, "tell/me"))
// Doesn't get unmounted. Fine for a test.
oa = naming.MakeTerminal(oa)
- rt.R().MountTable().Mount(rt.R().NewContext(), "I/want/to/know", oa, 0)
+ rt.R().Namespace().Mount(rt.R().NewContext(), "I/want/to/know", oa, 0)
return oa
}
@@ -151,7 +151,7 @@
}
func (*fortuneNoIDL) UnresolveStep(ipc.ServerCall) ([]string, error) {
- servers, err := rt.R().MountTable().ResolveToMountTable(rt.R().NewContext(), "g")
+ servers, err := rt.R().Namespace().ResolveToMountTable(rt.R().NewContext(), "g")
if err != nil {
return nil, err
}
@@ -185,8 +185,8 @@
return naming.Join(results[0].Server, suffix)
}
-func resolve(t *testing.T, mt naming.MountTable, name string) string {
- results, err := mt.Resolve(rt.R().NewContext(), name)
+func resolve(t *testing.T, ns naming.Namespace, name string) string {
+ results, err := ns.Resolve(rt.R().NewContext(), name)
if err != nil {
t.Errorf("Resolve failed with %v", err)
return ""
@@ -215,8 +215,8 @@
return unres[0]
}
-func unresolve(t *testing.T, mt naming.MountTable, name string) string {
- results, err := mt.Unresolve(rt.R().NewContext(), name)
+func unresolve(t *testing.T, ns naming.Namespace, name string) string {
+ results, err := ns.Unresolve(rt.R().NewContext(), name)
if err != nil {
t.Errorf("Unresolve failed with %v", err)
return ""
diff --git a/examples/unresolve/unresolve_test.go b/examples/unresolve/unresolve_test.go
index 7a218ab..251bf95 100644
--- a/examples/unresolve/unresolve_test.go
+++ b/examples/unresolve/unresolve_test.go
@@ -200,7 +200,7 @@
defer os.Remove(idFile)
os.Setenv("VEYRON_IDENTITY", idFile)
- r, _ := rt.New(veyron2.MountTableRoots([]string{aOA}))
+ r, _ := rt.New(veyron2.NamespaceRoots([]string{aOA}))
ctx := r.NewContext()
resolveCases := []struct {
@@ -215,7 +215,7 @@
{"b/mt/g", gEP},
}
for _, c := range resolveCases {
- if want, got := c.resolved, resolve(t, r.MountTable(), c.name); want != got {
+ if want, got := c.resolved, resolve(t, r.Namespace(), c.name); want != got {
t.Errorf("resolve %q expected %q, got %q instead", c.name, want, got)
}
}
@@ -324,7 +324,7 @@
{naming.Join(gEP, "fortune"), naming.Join(aOA, "b/mt/g/fortune")},
}
for _, c := range unresolveCases {
- if want, got := c.want, unresolve(t, r.MountTable(), c.name); want != got {
+ if want, got := c.want, unresolve(t, r.Namespace(), c.name); want != got {
t.Errorf("unresolve %q expected %q, got %q instead", c.name, want, got)
}
}
diff --git a/lib/testutil/modules/ls.go b/lib/testutil/modules/ls.go
index b0e21cf..936d50a 100644
--- a/lib/testutil/modules/ls.go
+++ b/lib/testutil/modules/ls.go
@@ -35,13 +35,13 @@
switch g.tag {
case ls:
return `<glob pattern>
-lists names using the local mountTable client's Glob method`
+lists names using the local namespace's Glob method (naming.Namespace.Glob)`
case lsat:
return `<name> <glob pattern>
list names using by invoking the Glob method on name (name.Glob)`
case lsmt:
return `<name> <glob pattern>
-list names using the Glob method on the mountTable at name`
+list names using the Glob method on the mounttable at name (name.Glob)`
default:
return "unknown glob command"
}
@@ -82,8 +82,8 @@
}
func lsUsingLocalMountTable(pattern string) ([]string, error) {
- lmt := rt.R().MountTable()
- ch, err := lmt.Glob(rt.R().NewContext(), pattern)
+ lns := rt.R().Namespace()
+ ch, err := lns.Glob(rt.R().NewContext(), pattern)
if err != nil {
return nil, fmt.Errorf("pattern %q: %v", pattern, err)
}
@@ -118,8 +118,8 @@
}
func lsUsingResolveToMountTable(name, pattern string) ([]string, error) {
- lmt := rt.R().MountTable()
- servers, err := lmt.ResolveToMountTable(rt.R().NewContext(), name)
+ lns := rt.R().Namespace()
+ servers, err := lns.ResolveToMountTable(rt.R().NewContext(), name)
if err != nil {
return []string{}, err
}
diff --git a/lib/testutil/modules/mounttable.go b/lib/testutil/modules/mounttable.go
index 9f3f6f7..e269882 100644
--- a/lib/testutil/modules/mounttable.go
+++ b/lib/testutil/modules/mounttable.go
@@ -137,7 +137,7 @@
func (*setroot) Help() string {
return `[<mountTable name>]+
-set the local mountTable client's roots to supplied mountTable names`
+set the local namespace's roots to supplied mountTable names`
}
func (*setroot) Daemon() bool { return false }
@@ -151,7 +151,7 @@
return nil, nil, nil, fmt.Errorf("name %q must be rooted", r)
}
}
- rt.R().MountTable().SetRoots(args)
+ rt.R().Namespace().SetRoots(args)
return nil, nil, nil, nil
}
@@ -179,15 +179,15 @@
return nil, nil, nil, fmt.Errorf("wrong #args: %s", rs.Help())
}
name := args[0]
- lmt := rt.R().MountTable()
+ lns := rt.R().Namespace()
var r []string
v := make(Variables)
var servers []string
var err error
if rs.mt {
- servers, err = lmt.ResolveToMountTable(rt.R().NewContext(), name)
+ servers, err = lns.ResolveToMountTable(rt.R().NewContext(), name)
} else {
- servers, err = lmt.Resolve(rt.R().NewContext(), name)
+ servers, err = lns.Resolve(rt.R().NewContext(), name)
}
if err != nil {
return nil, nil, nil, fmt.Errorf("failed resolving %q", name)
diff --git a/runtimes/google/daemon/proxyd/main.go b/runtimes/google/daemon/proxyd/main.go
index 665e625..90fead3 100644
--- a/runtimes/google/daemon/proxyd/main.go
+++ b/runtimes/google/daemon/proxyd/main.go
@@ -40,7 +40,7 @@
defer proxy.Shutdown()
if len(*name) > 0 {
- publisher := publisher.New(r.NewContext(), r.MountTable(), time.Minute)
+ publisher := publisher.New(r.NewContext(), r.Namespace(), time.Minute)
defer publisher.WaitForStop()
defer publisher.Stop()
publisher.AddServer(naming.JoinAddressName(proxy.Endpoint().String(), ""))
diff --git a/runtimes/google/ipc/client.go b/runtimes/google/ipc/client.go
index 3c90847..49b3915 100644
--- a/runtimes/google/ipc/client.go
+++ b/runtimes/google/ipc/client.go
@@ -30,7 +30,7 @@
type client struct {
streamMgr stream.Manager
- mt naming.MountTable
+ ns naming.Namespace
vcOpts []stream.VCOpt // vc opts passed to dial
callTimeout time.Duration // call timeout
@@ -48,10 +48,10 @@
// TODO(toddw): Add type and cancel flows.
}
-func InternalNewClient(streamMgr stream.Manager, mt naming.MountTable, opts ...ipc.ClientOpt) (ipc.Client, error) {
+func InternalNewClient(streamMgr stream.Manager, ns naming.Namespace, opts ...ipc.ClientOpt) (ipc.Client, error) {
c := &client{
streamMgr: streamMgr,
- mt: mt,
+ ns: ns,
vcMap: make(map[string]*vcInfo),
callTimeout: defaultCallTimeout,
}
@@ -125,8 +125,7 @@
if ctx == nil {
return nil, verror.BadArgf("ipc: %s.%s called with nil context", name, method)
}
-
- servers, err := c.mt.Resolve(ctx, name)
+ servers, err := c.ns.Resolve(ctx, name)
if err != nil {
return nil, verror.NotFoundf("ipc: Resolve(%q) failed: %v", name, err)
}
diff --git a/runtimes/google/ipc/full_test.go b/runtimes/google/ipc/full_test.go
index 2db5072..5793780 100644
--- a/runtimes/google/ipc/full_test.go
+++ b/runtimes/google/ipc/full_test.go
@@ -126,54 +126,54 @@
return ipc.ReflectInvoker(t.server), testServerAuthorizer{}, nil
}
-// mountTable is a simple partial implementation of naming.MountTable. In
+// namespace is a simple partial implementation of naming.Namespace. In
// particular, it ignores TTLs and not allow fully overlapping mount names.
-type mountTable struct {
+type namespace struct {
sync.Mutex
mounts map[string][]string
}
-func newMountTable() naming.MountTable {
- return &mountTable{mounts: make(map[string][]string)}
+func newNamespace() naming.Namespace {
+ return &namespace{mounts: make(map[string][]string)}
}
-func (mt *mountTable) Mount(ctx context.T, name, server string, _ time.Duration) error {
- mt.Lock()
- defer mt.Unlock()
- for n, _ := range mt.mounts {
+func (ns *namespace) Mount(ctx context.T, name, server string, _ time.Duration) error {
+ ns.Lock()
+ defer ns.Unlock()
+ for n, _ := range ns.mounts {
if n != name && (strings.HasPrefix(name, n) || strings.HasPrefix(n, name)) {
return fmt.Errorf("simple mount table does not allow names that are a prefix of each other")
}
}
- mt.mounts[name] = append(mt.mounts[name], server)
+ ns.mounts[name] = append(ns.mounts[name], server)
return nil
}
-func (mt *mountTable) Unmount(ctx context.T, name, server string) error {
+func (ns *namespace) Unmount(ctx context.T, name, server string) error {
var servers []string
- mt.Lock()
- defer mt.Unlock()
- for _, s := range mt.mounts[name] {
+ ns.Lock()
+ defer ns.Unlock()
+ for _, s := range ns.mounts[name] {
// When server is "", we remove all servers under name.
if len(server) > 0 && s != server {
servers = append(servers, s)
}
}
if len(servers) > 0 {
- mt.mounts[name] = servers
+ ns.mounts[name] = servers
} else {
- delete(mt.mounts, name)
+ delete(ns.mounts, name)
}
return nil
}
-func (mt *mountTable) Resolve(ctx context.T, name string) ([]string, error) {
+func (ns *namespace) Resolve(ctx context.T, name string) ([]string, error) {
if address, _ := naming.SplitAddressName(name); len(address) > 0 {
return []string{name}, nil
}
- mt.Lock()
- defer mt.Unlock()
- for prefix, servers := range mt.mounts {
+ ns.Lock()
+ defer ns.Unlock()
+ for prefix, servers := range ns.mounts {
if strings.HasPrefix(name, prefix) {
suffix := strings.TrimLeft(strings.TrimPrefix(name, prefix), "/")
var ret []string
@@ -183,32 +183,32 @@
return ret, nil
}
}
- return nil, verror.NotFoundf("Resolve name %q not found in %v", name, mt.mounts)
+ return nil, verror.NotFoundf("Resolve name %q not found in %v", name, ns.mounts)
}
-func (mt *mountTable) ResolveToMountTable(ctx context.T, name string) ([]string, error) {
+func (ns *namespace) ResolveToMountTable(ctx context.T, name string) ([]string, error) {
panic("ResolveToMountTable not implemented")
return nil, nil
}
-func (mt *mountTable) Unresolve(ctx context.T, name string) ([]string, error) {
+func (ns *namespace) Unresolve(ctx context.T, name string) ([]string, error) {
panic("Unresolve not implemented")
return nil, nil
}
-func (mt *mountTable) Glob(ctx context.T, pattern string) (chan naming.MountEntry, error) {
+func (ns *namespace) Glob(ctx context.T, pattern string) (chan naming.MountEntry, error) {
panic("Glob not implemented")
return nil, nil
}
-func (mt *mountTable) SetRoots([]string) error {
+func (ns *namespace) SetRoots([]string) error {
panic("SetRoots not implemented")
return nil
}
-func startServer(t *testing.T, serverID security.PrivateID, sm stream.Manager, mt naming.MountTable, ts interface{}) ipc.Server {
+func startServer(t *testing.T, serverID security.PrivateID, sm stream.Manager, ns naming.Namespace, ts interface{}) ipc.Server {
vlog.VI(1).Info("InternalNewServer")
- server, err := InternalNewServer(InternalNewContext(), sm, mt, listenerID(serverID))
+ server, err := InternalNewServer(InternalNewContext(), sm, ns, listenerID(serverID))
if err != nil {
t.Errorf("InternalNewServer failed: %v", err)
}
@@ -228,57 +228,57 @@
return server
}
-func verifyMount(t *testing.T, mt naming.MountTable, name string) {
- if _, err := mt.Resolve(InternalNewContext(), name); err != nil {
+func verifyMount(t *testing.T, ns naming.Namespace, name string) {
+ if _, err := ns.Resolve(InternalNewContext(), name); err != nil {
t.Errorf("%s not found in mounttable", name)
}
}
-func verifyMountMissing(t *testing.T, mt naming.MountTable, name string) {
- if servers, err := mt.Resolve(InternalNewContext(), name); err == nil {
+func verifyMountMissing(t *testing.T, ns naming.Namespace, name string) {
+ if servers, err := ns.Resolve(InternalNewContext(), name); err == nil {
t.Errorf("%s not supposed to be found in mounttable; got %d servers instead", name, len(servers))
}
}
-func stopServer(t *testing.T, server ipc.Server, mt naming.MountTable) {
+func stopServer(t *testing.T, server ipc.Server, ns naming.Namespace) {
vlog.VI(1).Info("server.Stop")
- verifyMount(t, mt, "mountpoint/server")
+ verifyMount(t, ns, "mountpoint/server")
// Check that we can still publish.
server.Publish("should_appear_in_mt")
- verifyMount(t, mt, "should_appear_in_mt/server")
+ verifyMount(t, ns, "should_appear_in_mt/server")
if err := server.Stop(); err != nil {
t.Errorf("server.Stop failed: %v", err)
}
// Check that we can no longer publish after Stop.
server.Publish("should_not_appear_in_mt")
- verifyMountMissing(t, mt, "should_not_appear_in_mt/server")
+ verifyMountMissing(t, ns, "should_not_appear_in_mt/server")
- verifyMountMissing(t, mt, "mountpoint/server")
- verifyMountMissing(t, mt, "should_appear_in_mt/server")
- verifyMountMissing(t, mt, "should_not_appear_in_mt/server")
+ verifyMountMissing(t, ns, "mountpoint/server")
+ verifyMountMissing(t, ns, "should_appear_in_mt/server")
+ verifyMountMissing(t, ns, "should_not_appear_in_mt/server")
vlog.VI(1).Info("server.Stop DONE")
}
type bundle struct {
client ipc.Client
server ipc.Server
- mt naming.MountTable
+ ns naming.Namespace
sm stream.Manager
}
func (b bundle) cleanup(t *testing.T) {
- stopServer(t, b.server, b.mt)
+ stopServer(t, b.server, b.ns)
b.client.Close()
}
func createBundle(t *testing.T, clientID, serverID security.PrivateID, ts interface{}) (b bundle) {
b.sm = imanager.InternalNew(naming.FixedRoutingID(0x555555555))
- b.mt = newMountTable()
- b.server = startServer(t, serverID, b.sm, b.mt, ts)
+ b.ns = newNamespace()
+ b.server = startServer(t, serverID, b.sm, b.ns, ts)
var err error
- b.client, err = InternalNewClient(b.sm, b.mt, veyron2.LocalID(clientID))
+ b.client, err = InternalNewClient(b.sm, b.ns, veyron2.LocalID(clientID))
if err != nil {
t.Fatalf("InternalNewClient failed: %v", err)
}
@@ -351,21 +351,21 @@
}
// Servers and clients will be created per-test, use the same stream manager and mounttable.
mgr := imanager.InternalNew(naming.FixedRoutingID(0x1111111))
- mt := newMountTable()
+ ns := newNamespace()
for _, test := range tests {
name := fmt.Sprintf("(clientID:%q serverID:%q)", test.clientID, test.serverID)
- server := startServer(t, test.serverID, mgr, mt, &testServer{})
- client, err := InternalNewClient(mgr, mt, veyron2.LocalID(test.clientID))
+ server := startServer(t, test.serverID, mgr, ns, &testServer{})
+ client, err := InternalNewClient(mgr, ns, veyron2.LocalID(test.clientID))
if err != nil {
t.Errorf("%s: Client creation failed: %v", name, err)
- stopServer(t, server, mt)
+ stopServer(t, server, ns)
continue
}
if _, err := client.StartCall(&fakeContext{}, "mountpoint/server/suffix", "irrelevant", nil, veyron2.RemoteID(test.pattern)); !matchesErrorPattern(err, test.err) {
t.Errorf(`%s: client.StartCall: got error "%v", want to match "%v"`, name, err, test.err)
}
client.Close()
- stopServer(t, server, mt)
+ stopServer(t, server, ns)
}
}
@@ -562,7 +562,7 @@
b := createBundle(t, nil, serverID, &testServer{})
defer b.cleanup(t)
for _, test := range tests {
- client, err := InternalNewClient(b.sm, b.mt, veyron2.LocalID(test.clientID))
+ client, err := InternalNewClient(b.sm, b.ns, veyron2.LocalID(test.clientID))
if err != nil {
t.Fatalf("InternalNewClient failed: %v", err)
}
@@ -724,7 +724,7 @@
defer b.cleanup(t)
// Publish some incompatible endpoints.
- publisher := publisher.New(InternalNewContext(), b.mt, publishPeriod)
+ publisher := publisher.New(InternalNewContext(), b.ns, publishPeriod)
defer publisher.WaitForStop()
defer publisher.Stop()
publisher.AddName("incompatible")
@@ -757,7 +757,7 @@
// a server publishes its endpoints have the right effect.
func TestPublishOptions(t *testing.T) {
sm := imanager.InternalNew(naming.FixedRoutingID(0x555555555))
- mt := newMountTable()
+ ns := newNamespace()
cases := []struct {
opts []ipc.ServerOpt
expect []string
@@ -769,7 +769,7 @@
{[]ipc.ServerOpt{veyron2.PublishFirst, veyron2.EndpointRewriteOpt("example.com")}, []string{"example.com"}},
}
for i, c := range cases {
- server, err := InternalNewServer(InternalNewContext(), sm, mt, append([]ipc.ServerOpt{listenerID(serverID)}, c.opts...)...)
+ server, err := InternalNewServer(InternalNewContext(), sm, ns, append([]ipc.ServerOpt{listenerID(serverID)}, c.opts...)...)
if err != nil {
t.Errorf("InternalNewServer failed: %v", err)
continue
@@ -789,7 +789,7 @@
server.Stop()
continue
}
- servers, err := mt.Resolve(InternalNewContext(), "mountpoint")
+ servers, err := ns.Resolve(InternalNewContext(), "mountpoint")
if err != nil {
t.Errorf("mountpoint not found in mounttable")
server.Stop()
@@ -869,7 +869,7 @@
}
type proxyHandle struct {
- MT naming.MountTable
+ ns naming.Namespace
process *blackbox.Child
mount string
}
@@ -881,7 +881,7 @@
if h.mount, err = h.process.ReadLineFromChild(); err != nil {
return err
}
- if err := h.MT.Mount(&fakeContext{}, "proxy", h.mount, time.Hour); err != nil {
+ if err := h.ns.Mount(&fakeContext{}, "proxy", h.mount, time.Hour); err != nil {
return err
}
return nil
@@ -896,18 +896,18 @@
if len(h.mount) == 0 {
return nil
}
- return h.MT.Unmount(&fakeContext{}, "proxy", h.mount)
+ return h.ns.Unmount(&fakeContext{}, "proxy", h.mount)
}
func TestProxy(t *testing.T) {
sm := imanager.InternalNew(naming.FixedRoutingID(0x555555555))
- mt := newMountTable()
- client, err := InternalNewClient(sm, mt, veyron2.LocalID(clientID))
+ ns := newNamespace()
+ client, err := InternalNewClient(sm, ns, veyron2.LocalID(clientID))
if err != nil {
t.Fatal(err)
}
defer client.Close()
- server, err := InternalNewServer(InternalNewContext(), sm, mt, listenerID(serverID))
+ server, err := InternalNewServer(InternalNewContext(), sm, ns, listenerID(serverID))
if err != nil {
t.Fatal(err)
}
@@ -928,7 +928,7 @@
}
return result, nil
}
- proxy := &proxyHandle{MT: mt}
+ proxy := &proxyHandle{ns: ns}
if err := proxy.Start(t); err != nil {
t.Fatal(err)
}
@@ -939,7 +939,7 @@
if err := server.Publish("mountpoint"); err != nil {
t.Fatal(err)
}
- verifyMount(t, mt, name)
+ verifyMount(t, ns, name)
// Proxied endpoint should be published and RPC should succeed (through proxy)
const expected = `method:"Echo",suffix:"suffix",arg:"batman"`
if result, err := makeCall(); result != expected || err != nil {
@@ -954,11 +954,11 @@
t.Fatalf(`Got (%v, %v) want ("", <non-nil>) as proxy is down`, result, err)
}
for {
- if _, err := mt.Resolve(InternalNewContext(), name); err != nil {
+ if _, err := ns.Resolve(InternalNewContext(), name); err != nil {
break
}
}
- verifyMountMissing(t, mt, name)
+ verifyMountMissing(t, ns, name)
// Proxy restarts, calls should eventually start succeeding.
if err := proxy.Start(t); err != nil {
@@ -989,10 +989,10 @@
func runServer(argv []string) {
mgr := imanager.InternalNew(naming.FixedRoutingID(0x1111111))
- mt := newMountTable()
+ ns := newNamespace()
id := loadIdentityFromFile(argv[1])
isecurity.TrustIdentityProviders(id)
- server, err := InternalNewServer(InternalNewContext(), mgr, mt, listenerID(id))
+ server, err := InternalNewServer(InternalNewContext(), mgr, ns, listenerID(id))
if err != nil {
vlog.Fatalf("InternalNewServer failed: %v", err)
}
diff --git a/runtimes/google/ipc/server.go b/runtimes/google/ipc/server.go
index 3c0842c..f1c8718 100644
--- a/runtimes/google/ipc/server.go
+++ b/runtimes/google/ipc/server.go
@@ -43,21 +43,21 @@
active sync.WaitGroup // active goroutines we've spawned.
stopped bool // whether the server has been stopped.
stoppedChan chan struct{} // closed when the server has been stopped.
- mt naming.MountTable
+ ns naming.Namespace
publishOpt veyron2.ServerPublishOpt // which endpoints to publish
publishing bool // is some name being published?
servesMountTable bool
}
-func InternalNewServer(ctx context.T, streamMgr stream.Manager, mt naming.MountTable, opts ...ipc.ServerOpt) (ipc.Server, error) {
+func InternalNewServer(ctx context.T, streamMgr stream.Manager, ns naming.Namespace, opts ...ipc.ServerOpt) (ipc.Server, error) {
s := &server{
ctx: ctx,
streamMgr: streamMgr,
disptrie: newDisptrie(),
- publisher: publisher.New(ctx, mt, publishPeriod),
+ publisher: publisher.New(ctx, ns, publishPeriod),
listeners: make(map[stream.Listener]bool),
stoppedChan: make(chan struct{}),
- mt: mt,
+ ns: ns,
}
for _, opt := range opts {
switch opt := opt.(type) {
@@ -97,10 +97,10 @@
if _, err := inaming.NewEndpoint(address); err == nil {
return address
}
- if s.mt == nil {
+ if s.ns == nil {
return address
}
- names, err := s.mt.Resolve(s.ctx, address)
+ names, err := s.ns.Resolve(s.ctx, address)
if err != nil {
return address
}
diff --git a/runtimes/google/lib/publisher/publisher.go b/runtimes/google/lib/publisher/publisher.go
index 517f7e2..77eab43 100644
--- a/runtimes/google/lib/publisher/publisher.go
+++ b/runtimes/google/lib/publisher/publisher.go
@@ -65,13 +65,13 @@
type publishedCmd chan []string // published names are sent when cmd is done
-// New returns a new publisher that updates mounts on mt every period.
-func New(ctx context.T, mt naming.MountTable, period time.Duration) Publisher {
+// New returns a new publisher that updates mounts on ns every period.
+func New(ctx context.T, ns naming.Namespace, period time.Duration) Publisher {
p := &publisher{
cmdchan: make(chan interface{}, 10),
donechan: make(chan struct{}),
}
- go p.runLoop(ctx, mt, period)
+ go p.runLoop(ctx, ns, period)
return p
}
@@ -136,9 +136,9 @@
<-p.donechan
}
-func (p *publisher) runLoop(ctx context.T, mt naming.MountTable, period time.Duration) {
+func (p *publisher) runLoop(ctx context.T, ns naming.Namespace, period time.Duration) {
vlog.VI(1).Info("ipc pub: start runLoop")
- state := newPubState(ctx, mt, period)
+ state := newPubState(ctx, ns, period)
for {
select {
case cmd, ok := <-p.cmdchan:
@@ -178,7 +178,7 @@
// it's only used in the sequential publisher runLoop.
type pubState struct {
ctx context.T
- mt naming.MountTable
+ ns naming.Namespace
period time.Duration
deadline time.Time // deadline for the next sync call
names []string // names that have been added
@@ -198,10 +198,10 @@
lastUnmountErr error
}
-func newPubState(ctx context.T, mt naming.MountTable, period time.Duration) *pubState {
+func newPubState(ctx context.T, ns naming.Namespace, period time.Duration) *pubState {
return &pubState{
ctx: ctx,
- mt: mt,
+ ns: ns,
period: period,
deadline: time.Now().Add(period),
servers: make(map[string]bool),
@@ -260,7 +260,7 @@
// to sync will occur within the next period, and refresh all mounts.
ttl := ps.period + mountTTLSlack
status.lastMount = time.Now()
- status.lastMountErr = ps.mt.Mount(ps.ctx, name, server, ttl)
+ status.lastMountErr = ps.ns.Mount(ps.ctx, name, server, ttl)
if status.lastMountErr != nil {
vlog.Errorf("ipc pub: couldn't mount(%v, %v, %v): %v", name, server, ttl, status.lastMountErr)
} else {
@@ -282,7 +282,7 @@
func (ps *pubState) unmount(name, server string, status *mountStatus) {
status.lastUnmount = time.Now()
- status.lastUnmountErr = ps.mt.Unmount(ps.ctx, name, server)
+ status.lastUnmountErr = ps.ns.Unmount(ps.ctx, name, server)
if status.lastUnmountErr != nil {
vlog.Errorf("ipc pub: couldn't unmount(%v, %v): %v", name, server, status.lastUnmountErr)
} else {
@@ -300,7 +300,7 @@
func (ps *pubState) published() []string {
var ret []string
for _, name := range ps.names {
- mtServers, err := ps.mt.ResolveToMountTable(ps.ctx, name)
+ mtServers, err := ps.ns.ResolveToMountTable(ps.ctx, name)
if err != nil {
vlog.Errorf("ipc pub: couldn't resolve %v to mount table: %v", name, err)
continue
diff --git a/runtimes/google/naming/mounttable/all_test.go b/runtimes/google/naming/namespace/all_test.go
similarity index 91%
rename from runtimes/google/naming/mounttable/all_test.go
rename to runtimes/google/naming/namespace/all_test.go
index f34fd27..a628069 100644
--- a/runtimes/google/naming/mounttable/all_test.go
+++ b/runtimes/google/naming/namespace/all_test.go
@@ -1,4 +1,4 @@
-package mounttable_test
+package namespace_test
import (
"runtime/debug"
@@ -6,7 +6,7 @@
"time"
_ "veyron/lib/testutil"
- "veyron/runtimes/google/naming/mounttable"
+ "veyron/runtimes/google/naming/namespace"
service "veyron/services/mounttable/lib"
"veyron2"
@@ -22,10 +22,10 @@
t.Fatal(string(debug.Stack()))
}
-func doGlob(t *testing.T, ctx context.T, mt naming.MountTable, pattern string) []string {
+func doGlob(t *testing.T, ctx context.T, ns naming.Namespace, pattern string) []string {
var replies []string
- rc, err := mt.Glob(ctx, pattern)
+ rc, err := ns.Glob(ctx, pattern)
if err != nil {
boom(t, "Glob(%s): %s", pattern, err)
}
@@ -80,11 +80,11 @@
func TestBadRoots(t *testing.T) {
r, _ := rt.New()
- if _, err := mounttable.New(r); err != nil {
- t.Errorf("mounttable.New should not have failed with no roots")
+ if _, err := namespace.New(r); err != nil {
+ t.Errorf("namespace.New should not have failed with no roots")
}
- if _, err := mounttable.New(r, "not a rooted name"); err == nil {
- t.Errorf("mounttable.New should have failed with an unrooted name")
+ if _, err := namespace.New(r, "not a rooted name"); err == nil {
+ t.Errorf("namespace.New should have failed with an unrooted name")
}
}
@@ -96,7 +96,7 @@
mt5Prefix = "mt5"
)
-func testResolveToMountTable(t *testing.T, ctx context.T, mt naming.MountTable, name, want string) {
+func testResolveToMountTable(t *testing.T, ctx context.T, mt naming.Namespace, name, want string) {
servers, err := mt.ResolveToMountTable(ctx, name)
if err != nil {
boom(t, "Failed to ResolveToMountTable %q: %s", name, err)
@@ -106,7 +106,7 @@
}
}
-func testResolve(t *testing.T, ctx context.T, mt naming.MountTable, name, want string) {
+func testResolve(t *testing.T, ctx context.T, mt naming.Namespace, name, want string) {
servers, err := mt.Resolve(ctx, name)
if err != nil {
boom(t, "Failed to Resolve %q: %s", name, err)
@@ -185,14 +185,14 @@
estr := ep.String()
// Run a client, creating a new runtime for it and intializing its
- // MountTable root to point to the server created above on /<ep>/mt1.
- // This means that any relative names mounted using this local MountTable
+ // namespace root to point to the server created above on /<ep>/mt1.
+ // This means that any relative names mounted using this local namespace
// will appear below mt1.
- r, err := rt.New(veyron2.MountTableRoots([]string{naming.JoinAddressName(estr, mt1Prefix)}))
+ r, err := rt.New(veyron2.NamespaceRoots([]string{naming.JoinAddressName(estr, mt1Prefix)}))
if err != nil {
boom(t, "Failed to create client runtime: %s", err)
}
- mt := r.MountTable()
+ mt := r.Namespace()
ctx := r.NewContext()
@@ -284,13 +284,13 @@
boom(t, "Should have failed to mt3/mt4/mt5")
}
- // Resolving m3/mt4/mt5 to a MountTable using the local MountTable gives
+ // Resolving m3/mt4/mt5 to a MountTable using the local namepsace gives
// us /<estr>//mt4/mt5.
testResolveToMountTable(t, ctx, mt, "mt3/mt4/mt5", naming.JoinAddressName(estr, "//mt4/mt5"))
testResolveToMountTable(t, ctx, mt, "mt3/mt4//mt5", naming.JoinAddressName(estr, "//mt4//mt5"))
- // But looking up mt4/mt5 in the local MountTable will give us
- // /<estr>//mt1/mt4/mt5 since the localMountTable has mt1 as its root!
+ // But looking up mt4/mt5 in the local namespace will give us
+ // /<estr>//mt1/mt4/mt5 since the local namespace has mt1 as its root!
testResolveToMountTable(t, ctx, mt, "mt4/mt5", naming.JoinAddressName(estr, "//mt1/mt4/mt5"))
// Looking mt3//mt4/mt5 will return the MountTable that serves //mt4/mt5.
diff --git a/runtimes/google/naming/mounttable/glob.go b/runtimes/google/naming/namespace/glob.go
similarity index 99%
rename from runtimes/google/naming/mounttable/glob.go
rename to runtimes/google/naming/namespace/glob.go
index 29ae756..e6071a8 100644
--- a/runtimes/google/naming/mounttable/glob.go
+++ b/runtimes/google/naming/namespace/glob.go
@@ -1,4 +1,4 @@
-package mounttable
+package namespace
import (
"container/list"
diff --git a/runtimes/google/naming/mounttable/glob_test.go b/runtimes/google/naming/namespace/glob_test.go
similarity index 95%
rename from runtimes/google/naming/mounttable/glob_test.go
rename to runtimes/google/naming/namespace/glob_test.go
index 38a2f81..790b459 100644
--- a/runtimes/google/naming/mounttable/glob_test.go
+++ b/runtimes/google/naming/namespace/glob_test.go
@@ -1,4 +1,4 @@
-package mounttable
+package namespace
import (
"testing"
diff --git a/runtimes/google/naming/mounttable/mount.go b/runtimes/google/naming/namespace/mount.go
similarity index 98%
rename from runtimes/google/naming/mounttable/mount.go
rename to runtimes/google/naming/namespace/mount.go
index f35f045..721ef85 100644
--- a/runtimes/google/naming/mounttable/mount.go
+++ b/runtimes/google/naming/namespace/mount.go
@@ -1,4 +1,4 @@
-package mounttable
+package namespace
import (
"time"
diff --git a/runtimes/google/naming/mounttable/namespace.go b/runtimes/google/naming/namespace/namespace.go
similarity index 98%
rename from runtimes/google/naming/mounttable/namespace.go
rename to runtimes/google/naming/namespace/namespace.go
index 6de47ad..92c486c 100644
--- a/runtimes/google/naming/mounttable/namespace.go
+++ b/runtimes/google/naming/namespace/namespace.go
@@ -1,4 +1,4 @@
-package mounttable
+package namespace
import (
"sync"
diff --git a/runtimes/google/naming/mounttable/resolve.go b/runtimes/google/naming/namespace/resolve.go
similarity index 99%
rename from runtimes/google/naming/mounttable/resolve.go
rename to runtimes/google/naming/namespace/resolve.go
index 365325d..92fc6f0 100644
--- a/runtimes/google/naming/mounttable/resolve.go
+++ b/runtimes/google/naming/namespace/resolve.go
@@ -1,4 +1,4 @@
-package mounttable
+package namespace
import (
"errors"
diff --git a/runtimes/google/naming/mounttable/stub.go b/runtimes/google/naming/namespace/stub.go
similarity index 96%
rename from runtimes/google/naming/mounttable/stub.go
rename to runtimes/google/naming/namespace/stub.go
index 697aa7e..9661cae 100644
--- a/runtimes/google/naming/mounttable/stub.go
+++ b/runtimes/google/naming/namespace/stub.go
@@ -1,4 +1,4 @@
-package mounttable
+package namespace
// This file defines data types that are also defined in the idl for the
// mounttable. We live with the duplication here to avoid having to depend
diff --git a/runtimes/google/rt/ipc.go b/runtimes/google/rt/ipc.go
index 417f861..aaa4d11 100644
--- a/runtimes/google/rt/ipc.go
+++ b/runtimes/google/rt/ipc.go
@@ -13,15 +13,15 @@
func (rt *vrt) NewClient(opts ...ipc.ClientOpt) (ipc.Client, error) {
sm := rt.sm
- mt := rt.mt
+ ns := rt.ns
cIDOpt := veyron2.LocalID(rt.id.Identity())
var otherOpts []ipc.ClientOpt
for _, opt := range opts {
switch topt := opt.(type) {
case veyron2.StreamManagerOpt:
sm = topt.Manager
- case veyron2.MountTableOpt:
- mt = topt.MountTable
+ case veyron2.NamespaceOpt:
+ ns = topt.Namespace
case veyron2.LocalIDOpt:
cIDOpt = topt
default:
@@ -31,7 +31,7 @@
if cIDOpt.PrivateID != nil {
otherOpts = append(otherOpts, cIDOpt)
}
- return iipc.InternalNewClient(sm, mt, otherOpts...)
+ return iipc.InternalNewClient(sm, ns, otherOpts...)
}
func (rt *vrt) Client() ipc.Client {
@@ -51,14 +51,14 @@
rt.startHTTPDebugServerOnce()
sm := rt.sm
- mt := rt.mt
+ ns := rt.ns
var otherOpts []ipc.ServerOpt
for _, opt := range opts {
switch topt := opt.(type) {
case veyron2.StreamManagerOpt:
sm = topt
- case veyron2.MountTableOpt:
- mt = topt
+ case veyron2.NamespaceOpt:
+ ns = topt
default:
otherOpts = append(otherOpts, opt)
}
@@ -67,7 +67,7 @@
otherOpts = append(otherOpts, rt.id)
ctx := rt.NewContext()
- return iipc.InternalNewServer(ctx, sm, mt, otherOpts...)
+ return iipc.InternalNewServer(ctx, sm, ns, otherOpts...)
}
func (rt *vrt) NewStreamManager(opts ...stream.ManagerOpt) (stream.Manager, error) {
diff --git a/runtimes/google/rt/naming.go b/runtimes/google/rt/naming.go
index a865856..00141a2 100644
--- a/runtimes/google/rt/naming.go
+++ b/runtimes/google/rt/naming.go
@@ -9,6 +9,6 @@
return inaming.NewEndpoint(ep)
}
-func (rt *vrt) MountTable() naming.MountTable {
- return rt.mt
+func (rt *vrt) Namespace() naming.Namespace {
+ return rt.ns
}
diff --git a/runtimes/google/rt/rt.go b/runtimes/google/rt/rt.go
index 8c3c18f..b8fbe63 100644
--- a/runtimes/google/rt/rt.go
+++ b/runtimes/google/rt/rt.go
@@ -7,7 +7,7 @@
"sync"
"veyron/lib/exec"
- imounttable "veyron/runtimes/google/naming/mounttable"
+ "veyron/runtimes/google/naming/namespace"
"veyron2"
"veyron2/ipc"
@@ -21,7 +21,7 @@
product product.T
httpServer string
sm stream.Manager
- mt naming.MountTable
+ ns naming.Namespace
rid naming.RoutingID
signals chan os.Signal
id *currentIDOpt
@@ -65,7 +65,7 @@
// warnings and to provide a modicum of security.
rt.httpServer = "127.0.0.1:0"
rt.id = ¤tIDOpt{}
- mtRoots := []string{}
+ nsRoots := []string{}
for _, o := range opts {
switch v := o.(type) {
@@ -73,8 +73,8 @@
rt.id.setIdentity(v.PrivateID)
case veyron2.ProductOpt:
rt.product = v.T
- case veyron2.MountTableRoots:
- mtRoots = v
+ case veyron2.NamespaceRoots:
+ nsRoots = v
case veyron2.HTTPDebugOpt:
rt.httpServer = string(v)
default:
@@ -93,18 +93,25 @@
rt.product = product
}
- if len(mtRoots) == 0 {
- if mtRoot := os.Getenv("MOUNTTABLE_ROOT"); mtRoot != "" {
- mtRoots = append(mtRoots, mtRoot)
+ if len(nsRoots) == 0 {
+ // TODO(cnicolaou,caprita): remove this when NAMESPACE_ROOT is in use.
+ if nsRoot := os.Getenv("MOUNTTABLE_ROOT"); nsRoot != "" {
+ nsRoots = append(nsRoots, nsRoot)
}
+ // TODO(cnicolaou,caprita): rename this to NAMESPACE_ROOT.
+ if nsRoot := os.Getenv("NAMESPACE_ROOT"); nsRoot != "" {
+ nsRoots = append(nsRoots, nsRoot)
+ }
+ // TODO(cnicolaou,caprita): decide if want to allow NAMESPACE_ROOTS
+ // e.g. comma separated list of roots.
}
- if mt, err := imounttable.New(rt, mtRoots...); err != nil {
+ if ns, err := namespace.New(rt, nsRoots...); err != nil {
return fmt.Errorf("Couldn't create mount table: %v", err)
} else {
- rt.mt = mt
+ rt.ns = ns
}
- vlog.VI(2).Infof("MountTable Roots: %s", mtRoots)
+ vlog.VI(2).Infof("Namespace Roots: %s", nsRoots)
var err error
if rt.sm, err = rt.NewStreamManager(); err != nil {
diff --git a/services/mgmt/node/impl/impl_test.go b/services/mgmt/node/impl/impl_test.go
index 2ca465c..7ca6f3f 100644
--- a/services/mgmt/node/impl/impl_test.go
+++ b/services/mgmt/node/impl/impl_test.go
@@ -180,13 +180,13 @@
defer runtime.Shutdown()
mtName, mtCleanup := startMountTable(t, runtime)
defer mtCleanup()
- mt := runtime.MountTable()
- // The local, client side MountTable is now relative to the
+ ns := runtime.Namespace()
+ // The local, client side Namespace is now relative to the
// MountTable server started above.
- mt.SetRoots([]string{mtName})
+ ns.SetRoots([]string{mtName})
ctx := runtime.NewContext()
- // Spawn a node manager with an identity blessed by the mounttable's
+ // Spawn a node manager with an identity blessed by the MountTable's
// identity under the name "test", and obtain its address.
//
// TODO(ataly): Eventually we want to use the same identity the node
@@ -197,7 +197,7 @@
defer child.Cleanup()
child.Expect("ready")
name := naming.Join(mtName, "nm")
- results, err := mt.Resolve(ctx, name)
+ results, err := ns.Resolve(ctx, name)
if err != nil {
t.Fatalf("Resolve(%v) failed: %v", name, err)
}
diff --git a/services/mounttable/lib/mounttable_test.go b/services/mounttable/lib/mounttable_test.go
index 86d1431..f8744bc 100644
--- a/services/mounttable/lib/mounttable_test.go
+++ b/services/mounttable/lib/mounttable_test.go
@@ -22,9 +22,9 @@
"veyron2/vlog"
)
-// stupidMT is a version of naming.MountTable that we can control. This exists so that we have some
+// stupidNS is a version of naming.Namespace that we can control. This exists so that we have some
// firm ground to stand on vis a vis the stub interface.
-type stupidMT struct {
+type stupidNS struct {
id ipc.ClientOpt
}
@@ -41,27 +41,27 @@
t.Fatal(string(debug.Stack()))
}
-// quuxClient returns an ipc.Client that uses the quux mounttable for name
+// quuxClient returns an ipc.Client that uses the simple namespace for name
// resolution.
func quuxClient(id ipc.ClientOpt) ipc.Client {
- mt := stupidMT{id}
- c, err := rt.R().NewClient(id, veyron2.MountTable(mt))
+ ns := stupidNS{id}
+ c, err := rt.R().NewClient(id, veyron2.Namespace(ns))
if err != nil {
panic(err)
}
return c
}
-func (stupidMT) Mount(context.T, string, string, time.Duration) error {
+func (stupidNS) Mount(context.T, string, string, time.Duration) error {
return errors.New("unimplemented")
}
-func (stupidMT) Unmount(context.T, string, string) error {
+func (stupidNS) Unmount(context.T, string, string) error {
return errors.New("unimplemented")
}
// Resolve will only go one level deep, i.e., it doesn't walk past the first mount point.
-func (mt stupidMT) Resolve(ctx context.T, name string) ([]string, error) {
+func (ns stupidNS) Resolve(ctx context.T, name string) ([]string, error) {
vlog.VI(1).Infof("MyResolve %q", name)
address, suffix := naming.SplitAddressName(name)
if len(address) == 0 {
@@ -73,7 +73,7 @@
}
// Resolve via another
- objectPtr, err := mounttable.BindMountTable("/"+address+"//"+suffix, quuxClient(mt.id))
+ objectPtr, err := mounttable.BindMountTable("/"+address+"//"+suffix, quuxClient(ns.id))
if err != nil {
return nil, err
}
@@ -89,20 +89,20 @@
return servers, nil
}
-func (s stupidMT) Unresolve(ctx context.T, name string) ([]string, error) {
+func (s stupidNS) Unresolve(ctx context.T, name string) ([]string, error) {
return s.Resolve(ctx, name)
}
-func (stupidMT) ResolveToMountTable(ctx context.T, name string) ([]string, error) {
+func (stupidNS) ResolveToMountTable(ctx context.T, name string) ([]string, error) {
return nil, errors.New("ResolveToMountTable is not implemented in this MountTable")
}
// Glob implements naming.MountTable.Glob.
-func (stupidMT) Glob(ctx context.T, pattern string) (chan naming.MountEntry, error) {
+func (stupidNS) Glob(ctx context.T, pattern string) (chan naming.MountEntry, error) {
return nil, errors.New("Glob is not implemented in this MountTable")
}
-func (s stupidMT) SetRoots([]string) error {
+func (s stupidNS) SetRoots([]string) error {
return nil
}
diff --git a/services/wspr/wsprd/lib/wspr_test.go b/services/wspr/wsprd/lib/wspr_test.go
index 42ee621..c2e6102 100644
--- a/services/wspr/wsprd/lib/wspr_test.go
+++ b/services/wspr/wsprd/lib/wspr_test.go
@@ -394,7 +394,7 @@
proxyEndpoint := proxyServer.Endpoint().String()
- wspr := NewWSPR(0, "/"+proxyEndpoint, veyron2.MountTableRoots{"/" + endpoint.String() + "/mt"})
+ wspr := NewWSPR(0, "/"+proxyEndpoint, veyron2.NamespaceRoots{"/" + endpoint.String() + "/mt"})
wspr.setup()
wsp := websocketPipe{ctx: wspr}
wsp.setup()
@@ -478,7 +478,7 @@
proxyEndpoint := proxyServer.Endpoint().String()
- wspr := NewWSPR(0, "/"+proxyEndpoint, veyron2.MountTableRoots{"/" + endpoint.String() + "/mt//"})
+ wspr := NewWSPR(0, "/"+proxyEndpoint, veyron2.NamespaceRoots{"/" + endpoint.String() + "/mt//"})
wspr.setup()
wsp := websocketPipe{ctx: wspr}
writer := testWriter{
diff --git a/tools/mounttable/impl/impl.go b/tools/mounttable/impl/impl.go
index d12d6e3..0446a66 100644
--- a/tools/mounttable/impl/impl.go
+++ b/tools/mounttable/impl/impl.go
@@ -13,7 +13,7 @@
func bindMT(name string) (mounttable.MountTable, error) {
ctx := rt.R().NewContext()
- mts, err := rt.R().MountTable().ResolveToMountTable(ctx, name)
+ mts, err := rt.R().Namespace().ResolveToMountTable(ctx, name)
if err != nil {
return nil, err
}