core: Remove the NewStreamManager and Namespace methods of Runtime.

This is part of the runtimeX migration.

Change-Id: Ib2efd74513b54f8fb06ca78e1016f2b11d9c3ce8
diff --git a/runtimes/google/ipc/client_test.go b/runtimes/google/ipc/client_test.go
index adf18d8..46b4360 100644
--- a/runtimes/google/ipc/client_test.go
+++ b/runtimes/google/ipc/client_test.go
@@ -11,7 +11,6 @@
 
 	"v.io/core/veyron2"
 	"v.io/core/veyron2/context"
-	"v.io/core/veyron2/ipc"
 	"v.io/core/veyron2/naming"
 	"v.io/core/veyron2/rt"
 	verror "v.io/core/veyron2/verror2"
@@ -25,7 +24,7 @@
 )
 
 var r veyron2.Runtime
-var client ipc.Client
+var gctx *context.T
 
 func init() {
 	modules.RegisterChild("ping", "<name>", childPing)
@@ -33,9 +32,8 @@
 	if r, err = rt.New(); err != nil {
 		panic(err)
 	}
-	client = veyron2.GetClient(r.NewContext())
-
-	r.Namespace().CacheCtl(naming.DisableCache(true))
+	gctx = r.NewContext()
+	veyron2.GetNamespace(gctx).CacheCtl(naming.DisableCache(true))
 }
 
 func testArgs(args ...string) []string {
@@ -43,8 +41,9 @@
 	return append(targs, args...)
 }
 
-func runMountTable(t *testing.T, r veyron2.Runtime) (*modules.Shell, func()) {
-	sh, err := modules.NewShell(r.Principal())
+func runMountTable(t *testing.T, ctx *context.T) (*modules.Shell, func()) {
+	principal := veyron2.GetPrincipal(ctx)
+	sh, err := modules.NewShell(principal)
 	if err != nil {
 		t.Fatalf("unexpected error: %s", err)
 	}
@@ -61,7 +60,7 @@
 		t.Fatalf("%s", rootSession.Error())
 	}
 	sh.SetVar(consts.NamespaceRootPrefix, rootName)
-	if err = r.Namespace().SetRoots(rootName); err != nil {
+	if err = veyron2.GetNamespace(ctx).SetRoots(rootName); err != nil {
 		t.Fatalf("unexpected error setting namespace roots: %s", err)
 	}
 
@@ -93,7 +92,7 @@
 }
 
 func numServers(t *testing.T, name string) int {
-	servers, err := r.Namespace().Resolve(r.NewContext(), name)
+	servers, err := veyron2.GetNamespace(gctx).Resolve(gctx, name)
 	if err != nil {
 		return 0
 	}
@@ -103,7 +102,7 @@
 // TODO(cnicolaou): figure out how to test and see what the internals
 // of tryCall are doing - e.g. using stats counters.
 func TestMultipleEndpoints(t *testing.T) {
-	sh, fn := runMountTable(t, r)
+	sh, fn := runMountTable(t, gctx)
 	defer fn()
 	srv, err := sh.Start(core.EchoServerCommand, nil, testArgs("echoServer", "echoServer")...)
 	if err != nil {
@@ -121,12 +120,11 @@
 	runClient(t, sh)
 
 	// Create a fake set of 100 entries in the mount table
-	ctx := r.NewContext()
 	for i := 0; i < 100; i++ {
 		// 203.0.113.0 is TEST-NET-3 from RFC5737
 		ep := naming.FormatEndpoint("tcp", fmt.Sprintf("203.0.113.%d:443", i))
 		n := naming.JoinAddressName(ep, "")
-		if err := r.Namespace().Mount(ctx, "echoServer", n, time.Hour); err != nil {
+		if err := veyron2.GetNamespace(gctx).Mount(gctx, "echoServer", n, time.Hour); err != nil {
 			t.Fatalf("unexpected error: %s", err)
 		}
 	}
@@ -153,8 +151,9 @@
 }
 
 func TestTimeoutCall(t *testing.T) {
-	ctx, _ := context.WithTimeout(r.NewContext(), 100*time.Millisecond)
+	ctx, _ := context.WithTimeout(gctx, 100*time.Millisecond)
 	name := naming.JoinAddressName(naming.FormatEndpoint("tcp", "203.0.113.10:443"), "")
+	client := veyron2.GetClient(ctx)
 	_, err := client.StartCall(ctx, name, "echo", []interface{}{"args don't matter"})
 	if !verror.Is(err, verror.Timeout.ID) {
 		t.Fatalf("wrong error: %s", err)
@@ -163,7 +162,7 @@
 
 func childPing(stdin io.Reader, stdout, stderr io.Writer, env map[string]string, args ...string) error {
 	name := args[1]
-	call, err := client.StartCall(r.NewContext(), name, "Ping", nil)
+	call, err := veyron2.GetClient(gctx).StartCall(gctx, name, "Ping", nil)
 	if err != nil {
 		fmt.Errorf("unexpected error: %s", err)
 	}
@@ -179,8 +178,8 @@
 	return nil
 }
 
-func initServer(t *testing.T, r veyron2.Runtime) (string, func()) {
-	server, err := r.NewServer()
+func initServer(t *testing.T, ctx *context.T) (string, func()) {
+	server, err := veyron2.NewServer(ctx)
 	if err != nil {
 		t.Fatalf("unexpected error: %s", err)
 	}
@@ -219,10 +218,10 @@
 }
 
 func TestTimeoutResponse(t *testing.T) {
-	name, fn := initServer(t, r)
+	name, fn := initServer(t, gctx)
 	defer fn()
-	ctx, _ := context.WithTimeout(r.NewContext(), 100*time.Millisecond)
-	call, err := client.StartCall(ctx, name, "Sleep", nil)
+	ctx, _ := context.WithTimeout(gctx, 100*time.Millisecond)
+	call, err := veyron2.GetClient(ctx).StartCall(ctx, name, "Sleep", nil)
 	if err != nil {
 		testForVerror(t, err, verror.Timeout, verror.BadProtocol)
 		return
@@ -233,17 +232,17 @@
 }
 
 func TestArgsAndResponses(t *testing.T) {
-	name, fn := initServer(t, r)
+	name, fn := initServer(t, gctx)
 	defer fn()
 
-	call, err := client.StartCall(r.NewContext(), name, "Sleep", []interface{}{"too many args"})
+	call, err := veyron2.GetClient(gctx).StartCall(gctx, name, "Sleep", []interface{}{"too many args"})
 	if err != nil {
 		t.Fatalf("unexpected error: %s", err)
 	}
 	verr := call.Finish(&err)
 	testForVerror(t, verr, verror.BadProtocol)
 
-	call, err = client.StartCall(r.NewContext(), name, "Ping", nil)
+	call, err = veyron2.GetClient(gctx).StartCall(gctx, name, "Ping", nil)
 	if err != nil {
 		t.Fatalf("unexpected error: %s", err)
 	}
@@ -260,7 +259,7 @@
 	// The server and client use different runtimes and hence different
 	// principals and without any shared blessings the server will deny
 	// access to the client
-	name, fn := initServer(t, r1)
+	name, fn := initServer(t, r1.NewContext())
 	defer fn()
 
 	ctx2 := r2.NewContext()
@@ -274,11 +273,11 @@
 }
 
 func TestCancelledBeforeFinish(t *testing.T) {
-	name, fn := initServer(t, r)
+	name, fn := initServer(t, gctx)
 	defer fn()
 
-	ctx, cancel := context.WithCancel(r.NewContext())
-	call, err := client.StartCall(ctx, name, "Sleep", nil)
+	ctx, cancel := context.WithCancel(gctx)
+	call, err := veyron2.GetClient(ctx).StartCall(ctx, name, "Sleep", nil)
 	if err != nil {
 		t.Fatalf("unexpected error: %s", err)
 	}
@@ -290,11 +289,11 @@
 }
 
 func TestCancelledDuringFinish(t *testing.T) {
-	name, fn := initServer(t, r)
+	name, fn := initServer(t, gctx)
 	defer fn()
 
-	ctx, cancel := context.WithCancel(r.NewContext())
-	call, err := client.StartCall(ctx, name, "Sleep", nil)
+	ctx, cancel := context.WithCancel(gctx)
+	call, err := veyron2.GetClient(ctx).StartCall(ctx, name, "Sleep", nil)
 	if err != nil {
 		t.Fatalf("unexpected error: %s", err)
 	}
@@ -309,7 +308,7 @@
 }
 
 func TestRendezvous(t *testing.T) {
-	sh, fn := runMountTable(t, r)
+	sh, fn := runMountTable(t, gctx)
 	defer fn()
 
 	name := "echoServer"
@@ -326,7 +325,7 @@
 	}
 	go startServer()
 
-	call, err := client.StartCall(r.NewContext(), name, "Echo", []interface{}{"hello"})
+	call, err := veyron2.GetClient(gctx).StartCall(gctx, name, "Echo", []interface{}{"hello"})
 	if err != nil {
 		t.Fatalf("unexpected error: %s", err)
 	}
@@ -343,10 +342,10 @@
 }
 
 func TestCallback(t *testing.T) {
-	sh, fn := runMountTable(t, r)
+	sh, fn := runMountTable(t, gctx)
 	defer fn()
 
-	name, fn := initServer(t, r)
+	name, fn := initServer(t, gctx)
 	defer fn()
 
 	srv, err := sh.Start("ping", nil, name)
@@ -360,12 +359,12 @@
 }
 
 func TestStreamTimeout(t *testing.T) {
-	name, fn := initServer(t, r)
+	name, fn := initServer(t, gctx)
 	defer fn()
 
 	want := 10
-	ctx, _ := context.WithTimeout(r.NewContext(), 300*time.Millisecond)
-	call, err := client.StartCall(ctx, name, "Source", []interface{}{want})
+	ctx, _ := context.WithTimeout(gctx, 300*time.Millisecond)
+	call, err := veyron2.GetClient(ctx).StartCall(ctx, name, "Source", []interface{}{want})
 	if err != nil {
 		if !verror.Is(err, verror.Timeout.ID) && !verror.Is(err, verror.BadProtocol.ID) {
 			t.Fatalf("verror should be a timeout or badprotocol, not %s: stack %s",
@@ -393,11 +392,10 @@
 }
 
 func TestStreamAbort(t *testing.T) {
-	name, fn := initServer(t, r)
+	name, fn := initServer(t, gctx)
 	defer fn()
 
-	ctx := r.NewContext()
-	call, err := client.StartCall(ctx, name, "Sink", nil)
+	call, err := veyron2.GetClient(gctx).StartCall(gctx, name, "Sink", nil)
 	if err != nil {
 		t.Fatalf("unexpected error: %s", err)
 	}
@@ -431,11 +429,11 @@
 }
 
 func TestNoServersAvailable(t *testing.T) {
-	_, fn := runMountTable(t, r)
+	_, fn := runMountTable(t, gctx)
 	defer fn()
 	name := "noservers"
-	ctx, _ := context.WithTimeout(r.NewContext(), 300*time.Millisecond)
-	call, verr := client.StartCall(ctx, name, "Sleep", nil)
+	ctx, _ := context.WithTimeout(gctx, 300*time.Millisecond)
+	call, verr := veyron2.GetClient(ctx).StartCall(ctx, name, "Sleep", nil)
 	if verr != nil {
 		testForVerror(t, verr, verror.Timeout, verror.BadProtocol, verror.NoExist)
 		return
@@ -445,12 +443,12 @@
 }
 
 func TestNoMountTable(t *testing.T) {
-	r.Namespace().SetRoots()
+	veyron2.GetNamespace(gctx).SetRoots()
 	name := "a_mount_table_entry"
 
 	// If there is no mount table, then we'll get a NoServers error message.
-	ctx, _ := context.WithTimeout(r.NewContext(), 300*time.Millisecond)
-	_, verr := client.StartCall(ctx, name, "Sleep", nil)
+	ctx, _ := context.WithTimeout(gctx, 300*time.Millisecond)
+	_, verr := veyron2.GetClient(ctx).StartCall(ctx, name, "Sleep", nil)
 	testForVerror(t, verr, verror.NoServers)
 }
 
diff --git a/runtimes/google/ipc/resolve_test.go b/runtimes/google/ipc/resolve_test.go
index 962b9b5..3b3c2cd 100644
--- a/runtimes/google/ipc/resolve_test.go
+++ b/runtimes/google/ipc/resolve_test.go
@@ -5,6 +5,7 @@
 	"testing"
 	"time"
 
+	"v.io/core/veyron2"
 	"v.io/core/veyron2/naming"
 	"v.io/core/veyron2/rt"
 
@@ -38,17 +39,19 @@
 		t.Fatalf("rt.New failed: %s", err)
 	}
 	defer runtime.Cleanup()
-	ns := runtime.Namespace()
+	ctx := runtime.NewContext()
+
+	ns := veyron2.GetNamespace(ctx)
 	ns.SetRoots(root)
 
 	proxyEp, _ := inaming.NewEndpoint("proxy.v.io:123")
 	proxyEpStr := proxyEp.String()
 	proxyAddr := naming.JoinAddressName(proxyEpStr, "")
-	if err := ns.Mount(runtime.NewContext(), "proxy", proxyAddr, time.Hour); err != nil {
+	if err := ns.Mount(ctx, "proxy", proxyAddr, time.Hour); err != nil {
 		t.Fatalf("ns.Mount failed: %s", err)
 	}
 
-	server, err := runtime.NewServer()
+	server, err := veyron2.NewServer(ctx)
 	if err != nil {
 		t.Fatalf("runtime.NewServer failed: %s", err)
 	}
diff --git a/runtimes/google/ipc/simple_test.go b/runtimes/google/ipc/simple_test.go
index 986678b..39b1147 100644
--- a/runtimes/google/ipc/simple_test.go
+++ b/runtimes/google/ipc/simple_test.go
@@ -67,7 +67,7 @@
 }
 
 func TestSimpleRPC(t *testing.T) {
-	name, fn := initServer(t, r)
+	name, fn := initServer(t, gctx)
 	defer fn()
 
 	client := veyron2.GetClient(r.NewContext())
@@ -87,7 +87,7 @@
 }
 
 func TestSimpleStreaming(t *testing.T) {
-	name, fn := initServer(t, r)
+	name, fn := initServer(t, gctx)
 	defer fn()
 
 	ctx := r.NewContext()