veyron/runtimes/google/ipc: new Serve method to replace Register+Publish.
Change-Id: Icc69645e753a3e84c5d87a3e9d2d4abd36275fff
diff --git a/services/mgmt/application/applicationd/main.go b/services/mgmt/application/applicationd/main.go
index f5bf624..d5e0a33 100644
--- a/services/mgmt/application/applicationd/main.go
+++ b/services/mgmt/application/applicationd/main.go
@@ -34,16 +34,12 @@
if err != nil {
vlog.Fatalf("NewDispatcher() failed: %v", err)
}
- suffix := ""
- if err := server.Register(suffix, dispatcher); err != nil {
- vlog.Fatalf("Register(%v, %v) failed: %v", suffix, dispatcher, err)
- }
endpoint, err := server.Listen(protocol, address)
if err != nil {
vlog.Fatalf("Listen(%v, %v) failed: %v", protocol, address, err)
}
- if err := server.Publish(name); err != nil {
- vlog.Fatalf("Publish(%v) failed: %v", name, err)
+ if err := server.Serve(name, dispatcher); err != nil {
+ vlog.Fatalf("Serve(%v) failed: %v", name, err)
}
vlog.VI(0).Infof("Application manager published at %v/%v", endpoint, name)
diff --git a/services/mgmt/application/impl/impl_test.go b/services/mgmt/application/impl/impl_test.go
index cee0cdb..76a0fd6 100644
--- a/services/mgmt/application/impl/impl_test.go
+++ b/services/mgmt/application/impl/impl_test.go
@@ -24,24 +24,30 @@
if err != nil {
t.Fatalf("NewServer() failed: %v", err)
}
+ defer server.Stop()
// Setup and start a store server.
- name, cleanup := testutil.NewStore(t, server, runtime.Identity().PublicID())
+ store, cleanup := testutil.NewStore(t, server, runtime.Identity().PublicID())
defer cleanup()
- dispatcher, err := NewDispatcher(name, nil)
+ server, err = runtime.NewServer()
+ if err != nil {
+ t.Fatalf("NewServer() failed: %v", err)
+ }
+
+ dispatcher, err := NewDispatcher(store, nil)
if err != nil {
t.Fatalf("NewDispatcher() failed: %v", err)
}
- suffix := ""
- if err := server.Register(suffix, dispatcher); err != nil {
- t.Fatalf("Register(%v, %v) failed: %v", suffix, dispatcher, err)
- }
+
protocol, hostname := "tcp", "localhost:0"
endpoint, err := server.Listen(protocol, hostname)
if err != nil {
t.Fatalf("Listen(%v, %v) failed: %v", protocol, hostname, err)
}
+ if err := server.Serve("", dispatcher); err != nil {
+ t.Fatalf("Serve(%v) failed: %v", dispatcher, err)
+ }
// Create client stubs for talking to the server.
stub, err := repository.BindApplication(naming.JoinAddressName(endpoint.String(), "//search"))
diff --git a/services/mgmt/node/impl/impl_test.go b/services/mgmt/node/impl/impl_test.go
index 5a2d08b..361f399 100644
--- a/services/mgmt/node/impl/impl_test.go
+++ b/services/mgmt/node/impl/impl_test.go
@@ -262,10 +262,7 @@
if err != nil {
vlog.Fatalf("NewServer() failed: %v", err)
}
- suffix, dispatcher := "", ipc.SoloDispatcher(repository.NewServerApplication(&arInvoker{}), nil)
- if err := server.Register(suffix, dispatcher); err != nil {
- vlog.Fatalf("Register(%v, %v) failed: %v", suffix, dispatcher, err)
- }
+ dispatcher := ipc.SoloDispatcher(repository.NewServerApplication(&arInvoker{}), nil)
protocol, hostname := "tcp", "localhost:0"
endpoint, err := server.Listen(protocol, hostname)
if err != nil {
@@ -273,8 +270,8 @@
}
vlog.VI(1).Infof("Application repository running at endpoint: %s", endpoint)
name := "ar"
- if err := server.Publish(name); err != nil {
- vlog.Fatalf("Publish(%v) failed: %v", name, err)
+ if err := server.Serve(name, dispatcher); err != nil {
+ vlog.Fatalf("Serve(%v) failed: %v", name, err)
}
return name, func() {
if err := server.Stop(); err != nil {
@@ -288,10 +285,7 @@
if err != nil {
vlog.Fatalf("NewServer() failed: %v", err)
}
- suffix, dispatcher := "", ipc.SoloDispatcher(repository.NewServerBinary(&crInvoker{}), nil)
- if err := server.Register(suffix, dispatcher); err != nil {
- vlog.Fatalf("Register(%v, %v) failed: %v", suffix, dispatcher, err)
- }
+ dispatcher := ipc.SoloDispatcher(repository.NewServerContent(&crInvoker{}), nil)
protocol, hostname := "tcp", "localhost:0"
endpoint, err := server.Listen(protocol, hostname)
if err != nil {
@@ -299,8 +293,8 @@
}
vlog.VI(1).Infof("Binary repository running at endpoint: %s", endpoint)
name := "cr"
- if err := server.Publish(name); err != nil {
- vlog.Fatalf("Publish(%v) failed: %v", name, err)
+ if err := server.Serve(name, dispatcher); err != nil {
+ vlog.Fatalf("Serve(%v) failed: %v", name, err)
}
return name, func() {
if err := server.Stop(); err != nil {
@@ -318,16 +312,15 @@
if err != nil {
t.Fatalf("NewMountTable() failed: %v", err)
}
- suffix := "mt"
- if err := server.Register(suffix, dispatcher); err != nil {
- t.Fatalf("Register(%v, %v) failed: %v", suffix, dispatcher, err)
- }
protocol, hostname := "tcp", "localhost:0"
endpoint, err := server.Listen(protocol, hostname)
if err != nil {
t.Fatalf("Listen(%v, %v) failed: %v", protocol, hostname, err)
}
- name := naming.JoinAddressName(endpoint.String(), suffix)
+ if err := server.Serve("", dispatcher); err != nil {
+ t.Fatalf("Serve(%v) failed: %v", dispatcher, err)
+ }
+ name := naming.JoinAddressName(endpoint.String(), "")
vlog.VI(1).Infof("Mount table name: %v", name)
return name, func() {
if err := server.Stop(); err != nil {
@@ -346,18 +339,15 @@
if err != nil {
vlog.Fatalf("Listen(%v, %v) failed: %v", protocol, hostname, err)
}
- suffix, envelope := "", &application.Envelope{}
- name := naming.MakeTerminal(naming.JoinAddressName(endpoint.String(), suffix))
+ envelope := &application.Envelope{}
+ name := naming.MakeTerminal(naming.JoinAddressName(endpoint.String(), ""))
vlog.VI(0).Infof("Node manager name: %v", name)
// TODO(jsimsa): Replace <PreviousEnv> with a command-line flag when
// command-line flags in tests are supported.
dispatcher := impl.NewDispatcher(nil, envelope, name, os.Getenv(impl.PreviousEnv))
- if err := server.Register(suffix, dispatcher); err != nil {
- vlog.Fatalf("Register(%v, %v) failed: %v", suffix, dispatcher, err)
- }
publishAs := "nm"
- if err := server.Publish(publishAs); err != nil {
- vlog.Fatalf("Publish(%v) failed: %v", publishAs, err)
+ if err := server.Serve(publishAs, dispatcher); err != nil {
+ vlog.Fatalf("Serve(%v) failed: %v", publishAs, err)
}
fmt.Printf("ready\n")
return name, func() {
@@ -408,7 +398,7 @@
ns := runtime.Namespace()
// The local, client-side Namespace is now relative to the
// MountTable server started above.
- ns.SetRoots([]string{mtName})
+ ns.SetRoots(mtName)
// Spawn a node manager with an identity blessed by the MountTable's
// identity under the name "test", and obtain its address.
//
diff --git a/services/mgmt/node/noded/main.go b/services/mgmt/node/noded/main.go
index ec9762b..af7c5d2 100644
--- a/services/mgmt/node/noded/main.go
+++ b/services/mgmt/node/noded/main.go
@@ -44,13 +44,8 @@
// TODO(jsimsa): Replace <PreviousEnv> with a command-line flag when
// command-line flags are supported in tests.
dispatcher := impl.NewDispatcher(vflag.NewAuthorizerOrDie(), envelope, name, os.Getenv(impl.PreviousEnv))
- if err := server.Register(suffix, dispatcher); err != nil {
- vlog.Fatalf("Register(%v, %v) failed: %v", suffix, dispatcher, err)
- }
- if len(publishAs) > 0 {
- if err := server.Publish(publishAs); err != nil {
- vlog.Fatalf("Publish(%v) failed: %v", publishAs, err)
- }
+ if err := server.Serve(publishAs, dispatcher); err != nil {
+ vlog.Fatalf("Serve(%v) failed: %v", publishAs, err)
}
handle, _ := exec.GetChildHandle()
if handle != nil {
diff --git a/services/mgmt/profile/impl/impl_test.go b/services/mgmt/profile/impl/impl_test.go
index 777444c..6822260 100644
--- a/services/mgmt/profile/impl/impl_test.go
+++ b/services/mgmt/profile/impl/impl_test.go
@@ -35,29 +35,31 @@
if err != nil {
t.Fatalf("NewServer() failed: %v", err)
}
+ defer server.Stop()
// Setup and start a store server.
mountPoint, cleanup := testutil.NewStore(t, server, runtime.Identity().PublicID())
defer cleanup()
+ // Setup and start the profile server.
+ server, err = runtime.NewServer()
+ if err != nil {
+ t.Fatalf("NewServer() failed: %v", err)
+ }
+
dispatcher, err := NewDispatcher(mountPoint, nil)
if err != nil {
t.Fatalf("NewDispatcher() failed: %v", err)
}
- suffix := ""
- if err := server.Register(suffix, dispatcher); err != nil {
- t.Fatalf("Register(%v, %v) failed: %v", suffix, dispatcher, err)
- }
protocol, hostname := "tcp", "localhost:0"
endpoint, err := server.Listen(protocol, hostname)
if err != nil {
t.Fatalf("Listen(%v, %v) failed: %v", protocol, hostname, err)
}
- name := ""
- if err := server.Publish(name); err != nil {
- t.Fatalf("Publish(%v) failed: %v", name, err)
+ if err := server.Serve("", dispatcher); err != nil {
+ t.Fatalf("Serve failed: %v", err)
}
- t.Logf("Profile repository published at %v/%v", endpoint, name)
+ t.Logf("Profile repository at %v", endpoint)
// Create client stubs for talking to the server.
stub, err := repository.BindProfile(naming.JoinAddressName(endpoint.String(), "//linux/base"))
diff --git a/services/mgmt/profile/profiled/main.go b/services/mgmt/profile/profiled/main.go
index 51ca649..cc33f62 100644
--- a/services/mgmt/profile/profiled/main.go
+++ b/services/mgmt/profile/profiled/main.go
@@ -33,16 +33,13 @@
if err != nil {
vlog.Fatalf("NewDispatcher() failed: %v", err)
}
- suffix := ""
- if err := server.Register(suffix, dispatcher); err != nil {
- vlog.Fatalf("Register(%v, %v) failed: %v", suffix, dispatcher, err)
- }
+
endpoint, err := server.Listen(protocol, address)
if err != nil {
vlog.Fatalf("Listen(%v, %v) failed: %v", protocol, address, err)
}
- if err := server.Publish(name); err != nil {
- vlog.Fatalf("Publish(%v) failed: %v", name, err)
+ if err := server.Serve(name, dispatcher); err != nil {
+ vlog.Fatalf("Serve(%v) failed: %v", name, err)
}
vlog.VI(0).Infof("Profile manager published at %v/%v", endpoint, name)
diff --git a/services/mgmt/root/rootd/main.go b/services/mgmt/root/rootd/main.go
index d28b6f4..ae4b33a 100644
--- a/services/mgmt/root/rootd/main.go
+++ b/services/mgmt/root/rootd/main.go
@@ -17,11 +17,7 @@
return
}
defer server.Stop()
- suffix, dispatcher := "", impl.NewDispatcher()
- if err := server.Register(suffix, dispatcher); err != nil {
- vlog.Errorf("Register(%v, %v) failed: %v", suffix, dispatcher, err)
- return
- }
+ dispatcher := impl.NewDispatcher()
protocol, hostname := "tcp", "localhost:0"
ep, err := server.Listen(protocol, hostname)
if err != nil {
@@ -30,8 +26,8 @@
}
vlog.VI(0).Infof("Listening on %v", ep)
name := ""
- if err := server.Publish(name); err != nil {
- vlog.Errorf("Publish(%v) failed: %v", name, err)
+ if err := server.Serve(name, dispatcher); err != nil {
+ vlog.Errorf("Serve(%v) failed: %v", name, err)
return
}