TBR
v: renaming the v directory to go
Change-Id: I4fd9f6ee2895d8034c23b65927eb118980b3c17a
diff --git a/services/mgmt/node/impl/dispatcher.go b/services/mgmt/node/impl/dispatcher.go
new file mode 100644
index 0000000..53c606b
--- /dev/null
+++ b/services/mgmt/node/impl/dispatcher.go
@@ -0,0 +1,29 @@
+package impl
+
+import (
+ "veyron2/ipc"
+ "veyron2/security"
+ "veyron2/services/mgmt/application"
+ "veyron2/services/mgmt/node"
+)
+
+// dispatcher holds the state of the node manager dispatcher.
+type dispatcher struct {
+ envelope *application.Envelope
+ origin string
+}
+
+// NewDispatcher is the dispatcher factory.
+func NewDispatcher(envelope *application.Envelope, origin string) *dispatcher {
+ return &dispatcher{
+ envelope: envelope,
+ origin: origin,
+ }
+}
+
+// DISPATCHER INTERFACE IMPLEMENTATION
+
+func (d *dispatcher) Lookup(suffix string) (ipc.Invoker, security.Authorizer, error) {
+ invoker := ipc.ReflectInvoker(node.NewServerNode(NewInvoker(d.envelope, d.origin, suffix)))
+ return invoker, nil, nil
+}