veyron/examples/boxes/signallingserver: fix up after ipc.Serve API change.

Change-Id: Id77de4560947ed75e4c2e89cc3034f38b0177a68
diff --git a/examples/boxes/signallingserver/main.go b/examples/boxes/signallingserver/main.go
index 04536d4..6a5074b 100644
--- a/examples/boxes/signallingserver/main.go
+++ b/examples/boxes/signallingserver/main.go
@@ -4,12 +4,14 @@
 
 import (
 	"log"
+	"strings"
 
 	"veyron/examples/boxes"
 	"veyron/lib/signals"
 
 	"veyron2/ipc"
 	"veyron2/rt"
+	"veyron2/security"
 )
 
 const (
@@ -30,6 +32,15 @@
 	return string(*b), nil
 }
 
+type dispatcher struct {
+	invoker ipc.Invoker
+}
+
+func (d *dispatcher) Lookup(suffix string) (ipc.Invoker, security.Authorizer, error) {
+	suffix = strings.TrimPrefix(suffix, signallingServiceName)
+	return d.invoker, nil, nil
+}
+
 func main() {
 	r := rt.Init()
 
@@ -49,7 +60,7 @@
 		log.Fatal("failed Listen: ", err)
 	}
 
-	if err := s.Serve("/"+signallingServiceName, ipc.SoloDispatcher(srv, nil)); err != nil {
+	if err := s.Serve("", &dispatcher{ipc.ReflectInvoker(srv)}); err != nil {
 		log.Fatal("failed Serve:", err)
 	}