veyron2/ipc/model.go: Remove method argument from Lookup
This change removes the 'method' argument from the Dispatcher's Lookup
method. It is not used anywhere in a non-trivial way and we don't have
any plan to use it for anything.
Change-Id: I56910d1e863b90b14a800bafb91e46819c3a7fe6
diff --git a/lib/modules/core/echo.go b/lib/modules/core/echo.go
index e6181cc..be24117 100644
--- a/lib/modules/core/echo.go
+++ b/lib/modules/core/echo.go
@@ -22,7 +22,7 @@
type treeDispatcher struct{ id string }
-func (d treeDispatcher) Lookup(suffix, method string) (interface{}, security.Authorizer, error) {
+func (d treeDispatcher) Lookup(suffix string) (interface{}, security.Authorizer, error) {
return &echoServerObject{d.id, suffix}, nil, nil
}
diff --git a/runtimes/google/ipc/flow_test.go b/runtimes/google/ipc/flow_test.go
index 4031966..703a44f 100644
--- a/runtimes/google/ipc/flow_test.go
+++ b/runtimes/google/ipc/flow_test.go
@@ -60,7 +60,7 @@
newInvoker func(suffix string) ipc.Invoker
}
-func (td testDisp) Lookup(suffix, method string) (interface{}, security.Authorizer, error) {
+func (td testDisp) Lookup(suffix string) (interface{}, security.Authorizer, error) {
return td.newInvoker(suffix), testServerAuthorizer{}, nil
}
diff --git a/runtimes/google/ipc/full_test.go b/runtimes/google/ipc/full_test.go
index 857b2e2..b9ab62a 100644
--- a/runtimes/google/ipc/full_test.go
+++ b/runtimes/google/ipc/full_test.go
@@ -139,7 +139,7 @@
type testServerDisp struct{ server interface{} }
-func (t testServerDisp) Lookup(suffix, method string) (interface{}, security.Authorizer, error) {
+func (t testServerDisp) Lookup(suffix string) (interface{}, security.Authorizer, error) {
// If suffix is "nilAuth" we use default authorization, if it is "aclAuth" we
// use an ACL based authorizer, and otherwise we use the custom testServerAuthorizer.
var authorizer security.Authorizer
@@ -666,7 +666,7 @@
}
// Implements ipc.Dispatcher
-func (s *dischargeImpetusTester) Lookup(_, _ string) (interface{}, security.Authorizer, error) {
+func (s *dischargeImpetusTester) Lookup(_ string) (interface{}, security.Authorizer, error) {
return ipc.ReflectInvoker(dischargeImpetusServer{s}), testServerAuthorizer{}, nil
}
diff --git a/runtimes/google/ipc/glob.go b/runtimes/google/ipc/glob.go
index 9d959f9..9dba1e4 100644
--- a/runtimes/google/ipc/glob.go
+++ b/runtimes/google/ipc/glob.go
@@ -82,7 +82,7 @@
if disp == nil {
return nil, verror.NoExistf("ipc: no dispatcher for %q.%s", ctx.Suffix(), ctx.Method())
}
- obj, auth, err := disp.Lookup(ctx.Suffix(), ctx.Method())
+ obj, auth, err := disp.Lookup(ctx.Suffix())
switch {
case err != nil:
return nil, err
@@ -117,7 +117,7 @@
if disp == nil {
return ipc.MethodSig{}, verror.NoExistf("ipc: no such method %q", ctx.Method())
}
- obj, auth, err := disp.Lookup(ctx.Suffix(), ctx.Method())
+ obj, auth, err := disp.Lookup(ctx.Suffix())
switch {
case err != nil:
return ipc.MethodSig{}, err
@@ -181,6 +181,7 @@
return err
}
disp := i.dispNormal
+ call.M.Method = ipc.GlobMethod
call.M.MethodTags = []interface{}{security.ResolveLabel}
if naming.IsReserved(i.receiver) || (i.receiver == "" && naming.IsReserved(pattern)) {
disp = i.dispReserved
@@ -199,7 +200,7 @@
vlog.Error(err)
return err
}
- obj, auth, err := disp.Lookup(call.Suffix(), ipc.GlobMethod)
+ obj, auth, err := disp.Lookup(call.Suffix())
switch {
case err != nil:
return err
diff --git a/runtimes/google/ipc/glob_test.go b/runtimes/google/ipc/glob_test.go
index b34ce5d..5d497e8 100644
--- a/runtimes/google/ipc/glob_test.go
+++ b/runtimes/google/ipc/glob_test.go
@@ -173,7 +173,7 @@
tree *node
}
-func (d *disp) Lookup(suffix, method string) (interface{}, security.Authorizer, error) {
+func (d *disp) Lookup(suffix string) (interface{}, security.Authorizer, error) {
elems := strings.Split(suffix, "/")
if len(elems) != 0 && elems[0] == "muah" {
// Infinite space. Each node has one child named "ha".
diff --git a/runtimes/google/ipc/server.go b/runtimes/google/ipc/server.go
index 00e0688..abd5986 100644
--- a/runtimes/google/ipc/server.go
+++ b/runtimes/google/ipc/server.go
@@ -837,7 +837,7 @@
disp = fs.server.dispReserved
}
if disp != nil {
- obj, auth, err := disp.Lookup(suffix, *method)
+ obj, auth, err := disp.Lookup(suffix)
switch {
case err != nil:
return nil, nil, verror.Convert(err)
diff --git a/runtimes/google/naming/namespace/all_test.go b/runtimes/google/naming/namespace/all_test.go
index e40b1f3..645050a 100644
--- a/runtimes/google/naming/namespace/all_test.go
+++ b/runtimes/google/naming/namespace/all_test.go
@@ -128,7 +128,7 @@
type dispatcher struct{}
-func (d *dispatcher) Lookup(suffix, method string) (interface{}, security.Authorizer, error) {
+func (d *dispatcher) Lookup(suffix string) (interface{}, security.Authorizer, error) {
return &testServer{suffix}, allowEveryoneAuthorizer{}, nil
}
diff --git a/security/testdata/blessingstore.sig b/security/testdata/blessingstore.sig
index b03734e..2f2a57c 100644
--- a/security/testdata/blessingstore.sig
+++ b/security/testdata/blessingstore.sig
Binary files differ
diff --git a/services/identity/identityd/main.go b/services/identity/identityd/main.go
index 0219929..55e0b87 100644
--- a/services/identity/identityd/main.go
+++ b/services/identity/identityd/main.go
@@ -172,7 +172,7 @@
type dispatcher map[string]interface{}
-func (d dispatcher) Lookup(suffix, method string) (interface{}, security.Authorizer, error) {
+func (d dispatcher) Lookup(suffix string) (interface{}, security.Authorizer, error) {
if invoker := d[suffix]; invoker != nil {
return invoker, allowEveryoneAuthorizer{}, nil
}
diff --git a/services/mgmt/application/impl/dispatcher.go b/services/mgmt/application/impl/dispatcher.go
index 3fda1a4..92b03f8 100644
--- a/services/mgmt/application/impl/dispatcher.go
+++ b/services/mgmt/application/impl/dispatcher.go
@@ -29,6 +29,6 @@
// DISPATCHER INTERFACE IMPLEMENTATION
-func (d *dispatcher) Lookup(suffix, method string) (interface{}, security.Authorizer, error) {
+func (d *dispatcher) Lookup(suffix string) (interface{}, security.Authorizer, error) {
return repository.ApplicationServer(NewApplicationService(d.store, d.storeRoot, suffix)), d.auth, nil
}
diff --git a/services/mgmt/binary/impl/dispatcher.go b/services/mgmt/binary/impl/dispatcher.go
index fa3e900..150247b 100644
--- a/services/mgmt/binary/impl/dispatcher.go
+++ b/services/mgmt/binary/impl/dispatcher.go
@@ -27,6 +27,6 @@
// DISPATCHER INTERFACE IMPLEMENTATION
-func (d *dispatcher) Lookup(suffix, method string) (interface{}, security.Authorizer, error) {
+func (d *dispatcher) Lookup(suffix string) (interface{}, security.Authorizer, error) {
return repository.BinaryServer(newBinaryService(d.state, suffix)), d.auth, nil
}
diff --git a/services/mgmt/debug/debug.vdl b/services/mgmt/debug/debug.vdl
deleted file mode 100644
index 10f1925..0000000
--- a/services/mgmt/debug/debug.vdl
+++ /dev/null
@@ -1,17 +0,0 @@
-package debug
-
-import (
- "veyron.io/veyron/veyron2/services/mgmt/logreader"
- "veyron.io/veyron/veyron2/services/mgmt/pprof"
- "veyron.io/veyron/veyron2/services/mgmt/stats"
-)
-
-// This interface exists only for the purpose of generating a valid Signature
-// for all the interfaces that are served by the debug server. It should be
-// removed when https://code.google.com/p/envyor/issues/detail?id=285 is
-// resolved.
-type Debug interface {
- logreader.LogFile
- stats.Stats
- pprof.PProf
-}
diff --git a/services/mgmt/debug/debug.vdl.go b/services/mgmt/debug/debug.vdl.go
deleted file mode 100644
index a1d7c2b..0000000
--- a/services/mgmt/debug/debug.vdl.go
+++ /dev/null
@@ -1,358 +0,0 @@
-// This file was auto-generated by the veyron vdl tool.
-// Source: debug.vdl
-
-package debug
-
-import (
- "veyron.io/veyron/veyron2/services/mgmt/logreader"
-
- "veyron.io/veyron/veyron2/services/mgmt/pprof"
-
- "veyron.io/veyron/veyron2/services/mgmt/stats"
-
- // The non-user imports are prefixed with "__" to prevent collisions.
- __veyron2 "veyron.io/veyron/veyron2"
- __context "veyron.io/veyron/veyron2/context"
- __ipc "veyron.io/veyron/veyron2/ipc"
- __vdlutil "veyron.io/veyron/veyron2/vdl/vdlutil"
- __wiretype "veyron.io/veyron/veyron2/wiretype"
-)
-
-// TODO(toddw): Remove this line once the new signature support is done.
-// It corrects a bug where __wiretype is unused in VDL pacakges where only
-// bootstrap types are used on interfaces.
-const _ = __wiretype.TypeIDInvalid
-
-// DebugClientMethods is the client interface
-// containing Debug methods.
-//
-// This interface exists only for the purpose of generating a valid Signature
-// for all the interfaces that are served by the debug server. It should be
-// removed when https://code.google.com/p/envyor/issues/detail?id=285 is
-// resolved.
-type DebugClientMethods interface {
- // LogFile can be used to access log files remotely.
- logreader.LogFileClientMethods
- // The Stats interface is used to access stats for troubleshooting and
- // monitoring purposes. The stats objects are discoverable via the Globbable
- // interface and watchable via the GlobWatcher interface.
- //
- // The types of the object values are implementation specific, but should be
- // primarily numeric in nature, e.g. counters, memory usage, latency metrics,
- // etc.
- stats.StatsClientMethods
- pprof.PProfClientMethods
-}
-
-// DebugClientStub adds universal methods to DebugClientMethods.
-type DebugClientStub interface {
- DebugClientMethods
- __ipc.UniversalServiceMethods
-}
-
-// DebugClient returns a client stub for Debug.
-func DebugClient(name string, opts ...__ipc.BindOpt) DebugClientStub {
- var client __ipc.Client
- for _, opt := range opts {
- if clientOpt, ok := opt.(__ipc.Client); ok {
- client = clientOpt
- }
- }
- return implDebugClientStub{name, client, logreader.LogFileClient(name, client), stats.StatsClient(name, client), pprof.PProfClient(name, client)}
-}
-
-type implDebugClientStub struct {
- name string
- client __ipc.Client
-
- logreader.LogFileClientStub
- stats.StatsClientStub
- pprof.PProfClientStub
-}
-
-func (c implDebugClientStub) c(ctx __context.T) __ipc.Client {
- if c.client != nil {
- return c.client
- }
- return __veyron2.RuntimeFromContext(ctx).Client()
-}
-
-func (c implDebugClientStub) Signature(ctx __context.T, opts ...__ipc.CallOpt) (o0 __ipc.ServiceSignature, err error) {
- var call __ipc.Call
- if call, err = c.c(ctx).StartCall(ctx, c.name, "Signature", nil, opts...); err != nil {
- return
- }
- if ierr := call.Finish(&o0, &err); ierr != nil {
- err = ierr
- }
- return
-}
-
-// DebugServerMethods is the interface a server writer
-// implements for Debug.
-//
-// This interface exists only for the purpose of generating a valid Signature
-// for all the interfaces that are served by the debug server. It should be
-// removed when https://code.google.com/p/envyor/issues/detail?id=285 is
-// resolved.
-type DebugServerMethods interface {
- // LogFile can be used to access log files remotely.
- logreader.LogFileServerMethods
- // The Stats interface is used to access stats for troubleshooting and
- // monitoring purposes. The stats objects are discoverable via the Globbable
- // interface and watchable via the GlobWatcher interface.
- //
- // The types of the object values are implementation specific, but should be
- // primarily numeric in nature, e.g. counters, memory usage, latency metrics,
- // etc.
- stats.StatsServerMethods
- pprof.PProfServerMethods
-}
-
-// DebugServerStubMethods is the server interface containing
-// Debug methods, as expected by ipc.Server.
-// The only difference between this interface and DebugServerMethods
-// is the streaming methods.
-type DebugServerStubMethods interface {
- // LogFile can be used to access log files remotely.
- logreader.LogFileServerStubMethods
- // The Stats interface is used to access stats for troubleshooting and
- // monitoring purposes. The stats objects are discoverable via the Globbable
- // interface and watchable via the GlobWatcher interface.
- //
- // The types of the object values are implementation specific, but should be
- // primarily numeric in nature, e.g. counters, memory usage, latency metrics,
- // etc.
- stats.StatsServerStubMethods
- pprof.PProfServerStubMethods
-}
-
-// DebugServerStub adds universal methods to DebugServerStubMethods.
-type DebugServerStub interface {
- DebugServerStubMethods
- // Describe the Debug interfaces.
- Describe__() []__ipc.InterfaceDesc
- // Signature will be replaced with Describe__.
- Signature(ctx __ipc.ServerContext) (__ipc.ServiceSignature, error)
-}
-
-// DebugServer returns a server stub for Debug.
-// It converts an implementation of DebugServerMethods into
-// an object that may be used by ipc.Server.
-func DebugServer(impl DebugServerMethods) DebugServerStub {
- stub := implDebugServerStub{
- impl: impl,
- LogFileServerStub: logreader.LogFileServer(impl),
- StatsServerStub: stats.StatsServer(impl),
- PProfServerStub: pprof.PProfServer(impl),
- }
- // Initialize GlobState; always check the stub itself first, to handle the
- // case where the user has the Glob method defined in their VDL source.
- if gs := __ipc.NewGlobState(stub); gs != nil {
- stub.gs = gs
- } else if gs := __ipc.NewGlobState(impl); gs != nil {
- stub.gs = gs
- }
- return stub
-}
-
-type implDebugServerStub struct {
- impl DebugServerMethods
- logreader.LogFileServerStub
- stats.StatsServerStub
- pprof.PProfServerStub
- gs *__ipc.GlobState
-}
-
-func (s implDebugServerStub) VGlob() *__ipc.GlobState {
- return s.gs
-}
-
-func (s implDebugServerStub) Describe__() []__ipc.InterfaceDesc {
- return []__ipc.InterfaceDesc{DebugDesc, logreader.LogFileDesc, stats.StatsDesc, pprof.PProfDesc}
-}
-
-// DebugDesc describes the Debug interface.
-var DebugDesc __ipc.InterfaceDesc = descDebug
-
-// descDebug hides the desc to keep godoc clean.
-var descDebug = __ipc.InterfaceDesc{
- Name: "Debug",
- PkgPath: "veyron.io/veyron/veyron/services/mgmt/debug",
- Doc: "// This interface exists only for the purpose of generating a valid Signature\n// for all the interfaces that are served by the debug server. It should be\n// removed when https://code.google.com/p/envyor/issues/detail?id=285 is\n// resolved.",
- Embeds: []__ipc.EmbedDesc{
- {"LogFile", "veyron.io/veyron/veyron2/services/mgmt/logreader", "// LogFile can be used to access log files remotely."},
- {"Stats", "veyron.io/veyron/veyron2/services/mgmt/stats", "// The Stats interface is used to access stats for troubleshooting and\n// monitoring purposes. The stats objects are discoverable via the Globbable\n// interface and watchable via the GlobWatcher interface.\n//\n// The types of the object values are implementation specific, but should be\n// primarily numeric in nature, e.g. counters, memory usage, latency metrics,\n// etc."},
- {"PProf", "veyron.io/veyron/veyron2/services/mgmt/pprof", ``},
- },
-}
-
-func (s implDebugServerStub) Signature(ctx __ipc.ServerContext) (__ipc.ServiceSignature, error) {
- // TODO(toddw): Replace with new Describe__ implementation.
- result := __ipc.ServiceSignature{Methods: make(map[string]__ipc.MethodSignature)}
-
- result.TypeDefs = []__vdlutil.Any{}
- var ss __ipc.ServiceSignature
- var firstAdded int
- ss, _ = s.LogFileServerStub.Signature(ctx)
- firstAdded = len(result.TypeDefs)
- for k, v := range ss.Methods {
- for i, _ := range v.InArgs {
- if v.InArgs[i].Type >= __wiretype.TypeIDFirst {
- v.InArgs[i].Type += __wiretype.TypeID(firstAdded)
- }
- }
- for i, _ := range v.OutArgs {
- if v.OutArgs[i].Type >= __wiretype.TypeIDFirst {
- v.OutArgs[i].Type += __wiretype.TypeID(firstAdded)
- }
- }
- if v.InStream >= __wiretype.TypeIDFirst {
- v.InStream += __wiretype.TypeID(firstAdded)
- }
- if v.OutStream >= __wiretype.TypeIDFirst {
- v.OutStream += __wiretype.TypeID(firstAdded)
- }
- result.Methods[k] = v
- }
- //TODO(bprosnitz) combine type definitions from embeded interfaces in a way that doesn't cause duplication.
- for _, d := range ss.TypeDefs {
- switch wt := d.(type) {
- case __wiretype.SliceType:
- if wt.Elem >= __wiretype.TypeIDFirst {
- wt.Elem += __wiretype.TypeID(firstAdded)
- }
- d = wt
- case __wiretype.ArrayType:
- if wt.Elem >= __wiretype.TypeIDFirst {
- wt.Elem += __wiretype.TypeID(firstAdded)
- }
- d = wt
- case __wiretype.MapType:
- if wt.Key >= __wiretype.TypeIDFirst {
- wt.Key += __wiretype.TypeID(firstAdded)
- }
- if wt.Elem >= __wiretype.TypeIDFirst {
- wt.Elem += __wiretype.TypeID(firstAdded)
- }
- d = wt
- case __wiretype.StructType:
- for i, fld := range wt.Fields {
- if fld.Type >= __wiretype.TypeIDFirst {
- wt.Fields[i].Type += __wiretype.TypeID(firstAdded)
- }
- }
- d = wt
- // NOTE: other types are missing, but we are upgrading anyways.
- }
- result.TypeDefs = append(result.TypeDefs, d)
- }
- ss, _ = s.StatsServerStub.Signature(ctx)
- firstAdded = len(result.TypeDefs)
- for k, v := range ss.Methods {
- for i, _ := range v.InArgs {
- if v.InArgs[i].Type >= __wiretype.TypeIDFirst {
- v.InArgs[i].Type += __wiretype.TypeID(firstAdded)
- }
- }
- for i, _ := range v.OutArgs {
- if v.OutArgs[i].Type >= __wiretype.TypeIDFirst {
- v.OutArgs[i].Type += __wiretype.TypeID(firstAdded)
- }
- }
- if v.InStream >= __wiretype.TypeIDFirst {
- v.InStream += __wiretype.TypeID(firstAdded)
- }
- if v.OutStream >= __wiretype.TypeIDFirst {
- v.OutStream += __wiretype.TypeID(firstAdded)
- }
- result.Methods[k] = v
- }
- //TODO(bprosnitz) combine type definitions from embeded interfaces in a way that doesn't cause duplication.
- for _, d := range ss.TypeDefs {
- switch wt := d.(type) {
- case __wiretype.SliceType:
- if wt.Elem >= __wiretype.TypeIDFirst {
- wt.Elem += __wiretype.TypeID(firstAdded)
- }
- d = wt
- case __wiretype.ArrayType:
- if wt.Elem >= __wiretype.TypeIDFirst {
- wt.Elem += __wiretype.TypeID(firstAdded)
- }
- d = wt
- case __wiretype.MapType:
- if wt.Key >= __wiretype.TypeIDFirst {
- wt.Key += __wiretype.TypeID(firstAdded)
- }
- if wt.Elem >= __wiretype.TypeIDFirst {
- wt.Elem += __wiretype.TypeID(firstAdded)
- }
- d = wt
- case __wiretype.StructType:
- for i, fld := range wt.Fields {
- if fld.Type >= __wiretype.TypeIDFirst {
- wt.Fields[i].Type += __wiretype.TypeID(firstAdded)
- }
- }
- d = wt
- // NOTE: other types are missing, but we are upgrading anyways.
- }
- result.TypeDefs = append(result.TypeDefs, d)
- }
- ss, _ = s.PProfServerStub.Signature(ctx)
- firstAdded = len(result.TypeDefs)
- for k, v := range ss.Methods {
- for i, _ := range v.InArgs {
- if v.InArgs[i].Type >= __wiretype.TypeIDFirst {
- v.InArgs[i].Type += __wiretype.TypeID(firstAdded)
- }
- }
- for i, _ := range v.OutArgs {
- if v.OutArgs[i].Type >= __wiretype.TypeIDFirst {
- v.OutArgs[i].Type += __wiretype.TypeID(firstAdded)
- }
- }
- if v.InStream >= __wiretype.TypeIDFirst {
- v.InStream += __wiretype.TypeID(firstAdded)
- }
- if v.OutStream >= __wiretype.TypeIDFirst {
- v.OutStream += __wiretype.TypeID(firstAdded)
- }
- result.Methods[k] = v
- }
- //TODO(bprosnitz) combine type definitions from embeded interfaces in a way that doesn't cause duplication.
- for _, d := range ss.TypeDefs {
- switch wt := d.(type) {
- case __wiretype.SliceType:
- if wt.Elem >= __wiretype.TypeIDFirst {
- wt.Elem += __wiretype.TypeID(firstAdded)
- }
- d = wt
- case __wiretype.ArrayType:
- if wt.Elem >= __wiretype.TypeIDFirst {
- wt.Elem += __wiretype.TypeID(firstAdded)
- }
- d = wt
- case __wiretype.MapType:
- if wt.Key >= __wiretype.TypeIDFirst {
- wt.Key += __wiretype.TypeID(firstAdded)
- }
- if wt.Elem >= __wiretype.TypeIDFirst {
- wt.Elem += __wiretype.TypeID(firstAdded)
- }
- d = wt
- case __wiretype.StructType:
- for i, fld := range wt.Fields {
- if fld.Type >= __wiretype.TypeIDFirst {
- wt.Fields[i].Type += __wiretype.TypeID(firstAdded)
- }
- }
- d = wt
- // NOTE: other types are missing, but we are upgrading anyways.
- }
- result.TypeDefs = append(result.TypeDefs, d)
- }
-
- return result, nil
-}
diff --git a/services/mgmt/debug/dispatcher.go b/services/mgmt/debug/dispatcher.go
index 2e44d41..e11cf1e 100644
--- a/services/mgmt/debug/dispatcher.go
+++ b/services/mgmt/debug/dispatcher.go
@@ -30,7 +30,7 @@
// The first part of the names of the objects served by this dispatcher.
var rootName = "__debug"
-func (d *dispatcher) Lookup(suffix, method string) (interface{}, security.Authorizer, error) {
+func (d *dispatcher) Lookup(suffix string) (interface{}, security.Authorizer, error) {
if suffix == "" {
return ipc.VChildrenGlobberInvoker(rootName), d.auth, nil
}
@@ -40,9 +40,6 @@
suffix = strings.TrimPrefix(suffix, rootName)
suffix = strings.TrimLeft(suffix, "/")
- if method == "Signature" {
- return NewSignatureObject(suffix), d.auth, nil
- }
if suffix == "" {
return ipc.VChildrenGlobberInvoker("logs", "pprof", "stats", "vtrace"), d.auth, nil
}
diff --git a/services/mgmt/debug/signature.go b/services/mgmt/debug/signature.go
deleted file mode 100644
index 6781010..0000000
--- a/services/mgmt/debug/signature.go
+++ /dev/null
@@ -1,39 +0,0 @@
-package debug
-
-import (
- "strings"
-
- "veyron.io/veyron/veyron2/ipc"
-)
-
-type signatureInvoker struct {
- suffix string
-}
-
-// NewSignatureObject is the signature object factory.
-func NewSignatureObject(suffix string) interface{} {
- return &signatureInvoker{suffix}
-}
-
-// TODO(rthellend): This is a temporary hack until https://code.google.com/p/envyor/issues/detail?id=285 is resolved.
-func (s signatureInvoker) Signature(ipc.ServerContext) (ipc.ServiceSignature, error) {
- debugStub := DebugServer(nil)
- fullSig, _ := debugStub.Signature(nil)
-
- var show []string
- if strings.HasPrefix(s.suffix, "logs") {
- show = []string{"ReadLog", "Size", "Glob"}
- } else if strings.HasPrefix(s.suffix, "pprof") {
- show = []string{"Cmdline", "CPUProfile", "Profile", "Profiles", "Symbol"}
- } else if strings.HasPrefix(s.suffix, "stats") {
- show = []string{"Value", "Glob", "WatchGlob"}
- } else {
- show = []string{"Glob"}
- }
-
- sig := ipc.ServiceSignature{TypeDefs: fullSig.TypeDefs, Methods: make(map[string]ipc.MethodSignature)}
- for _, m := range show {
- sig.Methods[m] = fullSig.Methods[m]
- }
- return sig, nil
-}
diff --git a/services/mgmt/logreader/impl/logfile_test.go b/services/mgmt/logreader/impl/logfile_test.go
index 7a89c7c..11a6ae1 100644
--- a/services/mgmt/logreader/impl/logfile_test.go
+++ b/services/mgmt/logreader/impl/logfile_test.go
@@ -46,7 +46,7 @@
root string
}
-func (d *logFileDispatcher) Lookup(suffix, _ string) (interface{}, security.Authorizer, error) {
+func (d *logFileDispatcher) Lookup(suffix string) (interface{}, security.Authorizer, error) {
return impl.NewLogFileService(d.root, suffix), nil, nil
}
diff --git a/services/mgmt/node/impl/dispatcher.go b/services/mgmt/node/impl/dispatcher.go
index e2c0b59..dd4b647 100644
--- a/services/mgmt/node/impl/dispatcher.go
+++ b/services/mgmt/node/impl/dispatcher.go
@@ -337,7 +337,7 @@
}
// DISPATCHER INTERFACE IMPLEMENTATION
-func (d *dispatcher) Lookup(suffix, method string) (interface{}, security.Authorizer, error) {
+func (d *dispatcher) Lookup(suffix string) (interface{}, security.Authorizer, error) {
components := strings.Split(suffix, "/")
for i := 0; i < len(components); i++ {
if len(components[i]) == 0 {
@@ -346,10 +346,7 @@
}
}
if len(components) == 0 {
- if method == ipc.GlobMethod {
- return ipc.VChildrenGlobberInvoker(nodeSuffix, appsSuffix), d.auth, nil
- }
- return nil, nil, errInvalidSuffix
+ return ipc.VChildrenGlobberInvoker(nodeSuffix, appsSuffix), d.auth, nil
}
// The implementation of the node manager is split up into several
// invokers, which are instantiated depending on the receiver name
diff --git a/services/mgmt/node/impl/proxy_invoker_test.go b/services/mgmt/node/impl/proxy_invoker_test.go
index 3f3e01c..0fcb836 100644
--- a/services/mgmt/node/impl/proxy_invoker_test.go
+++ b/services/mgmt/node/impl/proxy_invoker_test.go
@@ -101,6 +101,6 @@
sigStub signatureStub
}
-func (d *proxyDispatcher) Lookup(suffix, method string) (interface{}, security.Authorizer, error) {
+func (d *proxyDispatcher) Lookup(suffix string) (interface{}, security.Authorizer, error) {
return &proxyInvoker{naming.Join(d.remote, suffix), d.label, d.sigStub}, nil, nil
}
diff --git a/services/mgmt/pprof/client/proxy_test.go b/services/mgmt/pprof/client/proxy_test.go
index 176d7d5..bce0e99 100644
--- a/services/mgmt/pprof/client/proxy_test.go
+++ b/services/mgmt/pprof/client/proxy_test.go
@@ -19,7 +19,7 @@
server interface{}
}
-func (d *dispatcher) Lookup(suffix, method string) (interface{}, security.Authorizer, error) {
+func (d *dispatcher) Lookup(suffix string) (interface{}, security.Authorizer, error) {
return d.server, nil, nil
}
diff --git a/services/mgmt/profile/impl/dispatcher.go b/services/mgmt/profile/impl/dispatcher.go
index 6c28885..b806796 100644
--- a/services/mgmt/profile/impl/dispatcher.go
+++ b/services/mgmt/profile/impl/dispatcher.go
@@ -29,6 +29,6 @@
// DISPATCHER INTERFACE IMPLEMENTATION
-func (d *dispatcher) Lookup(suffix, method string) (interface{}, security.Authorizer, error) {
+func (d *dispatcher) Lookup(suffix string) (interface{}, security.Authorizer, error) {
return repository.ProfileServer(NewProfileService(d.store, d.storeRoot, suffix)), d.auth, nil
}
diff --git a/services/mgmt/root/impl/dispatcher.go b/services/mgmt/root/impl/dispatcher.go
index c112fe8..7d34f29 100644
--- a/services/mgmt/root/impl/dispatcher.go
+++ b/services/mgmt/root/impl/dispatcher.go
@@ -20,6 +20,6 @@
// DISPATCHER INTERFACE IMPLEMENTATION
-func (d *dispatcher) Lookup(suffix, method string) (interface{}, security.Authorizer, error) {
+func (d *dispatcher) Lookup(suffix string) (interface{}, security.Authorizer, error) {
return root.RootServer(d.state), nil, nil
}
diff --git a/services/mgmt/stats/impl/stats_test.go b/services/mgmt/stats/impl/stats_test.go
index dc2bc40..6b526f6 100644
--- a/services/mgmt/stats/impl/stats_test.go
+++ b/services/mgmt/stats/impl/stats_test.go
@@ -22,7 +22,7 @@
type statsDispatcher struct {
}
-func (d *statsDispatcher) Lookup(suffix, method string) (interface{}, security.Authorizer, error) {
+func (d *statsDispatcher) Lookup(suffix string) (interface{}, security.Authorizer, error) {
return impl.NewStatsService(suffix, 100*time.Millisecond), nil, nil
}
diff --git a/services/mounttable/lib/collectionserver_test.go b/services/mounttable/lib/collectionserver_test.go
index 2d3be92..3bb1fb2 100644
--- a/services/mounttable/lib/collectionserver_test.go
+++ b/services/mounttable/lib/collectionserver_test.go
@@ -30,7 +30,7 @@
}
// Lookup implements ipc.Dispatcher.Lookup.
-func (d *collectionDispatcher) Lookup(name, method string) (interface{}, security.Authorizer, error) {
+func (d *collectionDispatcher) Lookup(name string) (interface{}, security.Authorizer, error) {
rpcc := &rpcContext{name: name, collectionServer: d.collectionServer}
return rpcc, d, nil
}
diff --git a/services/mounttable/lib/mounttable.go b/services/mounttable/lib/mounttable.go
index e7cfbf1..5ca2af2 100644
--- a/services/mounttable/lib/mounttable.go
+++ b/services/mounttable/lib/mounttable.go
@@ -94,7 +94,7 @@
}
// Lookup implements ipc.Dispatcher.Lookup.
-func (mt *mountTable) Lookup(name, method string) (interface{}, security.Authorizer, error) {
+func (mt *mountTable) Lookup(name string) (interface{}, security.Authorizer, error) {
vlog.VI(2).Infof("*********************Lookup %s", name)
mt.RLock()
defer mt.RUnlock()
diff --git a/services/mounttable/lib/neighborhood.go b/services/mounttable/lib/neighborhood.go
index d0462ad..7d649f9 100644
--- a/services/mounttable/lib/neighborhood.go
+++ b/services/mounttable/lib/neighborhood.go
@@ -123,7 +123,7 @@
}
// Lookup implements ipc.Dispatcher.Lookup.
-func (nh *neighborhood) Lookup(name, method string) (interface{}, security.Authorizer, error) {
+func (nh *neighborhood) Lookup(name string) (interface{}, security.Authorizer, error) {
vlog.VI(1).Infof("*********************LookupServer '%s'\n", name)
elems := strings.Split(name, "/")[nh.nelems:]
if name == "" {
diff --git a/tools/application/impl_test.go b/tools/application/impl_test.go
index 502fb9c..010ace1 100644
--- a/tools/application/impl_test.go
+++ b/tools/application/impl_test.go
@@ -68,7 +68,7 @@
return &dispatcher{}
}
-func (d *dispatcher) Lookup(suffix, method string) (interface{}, security.Authorizer, error) {
+func (d *dispatcher) Lookup(suffix string) (interface{}, security.Authorizer, error) {
return repository.ApplicationServer(&server{suffix: suffix}), nil, nil
}
diff --git a/tools/binary/impl_test.go b/tools/binary/impl_test.go
index 16031b6..0f32f85 100644
--- a/tools/binary/impl_test.go
+++ b/tools/binary/impl_test.go
@@ -77,7 +77,7 @@
return &dispatcher{}
}
-func (d *dispatcher) Lookup(suffix, method string) (interface{}, security.Authorizer, error) {
+func (d *dispatcher) Lookup(suffix string) (interface{}, security.Authorizer, error) {
return repository.BinaryServer(&server{suffix: suffix}), nil, nil
}
diff --git a/tools/mgmt/nodex/impl_test.go b/tools/mgmt/nodex/impl_test.go
index ce92e31..8471007 100644
--- a/tools/mgmt/nodex/impl_test.go
+++ b/tools/mgmt/nodex/impl_test.go
@@ -135,7 +135,7 @@
return &dispatcher{tape: tape, t: t}
}
-func (d *dispatcher) Lookup(suffix, method string) (interface{}, security.Authorizer, error) {
+func (d *dispatcher) Lookup(suffix string) (interface{}, security.Authorizer, error) {
return node.NodeServer(&mockNodeInvoker{tape: d.tape, t: d.t}), nil, nil
}
diff --git a/tools/mounttable/impl_test.go b/tools/mounttable/impl_test.go
index d4161ba..90e83e2 100644
--- a/tools/mounttable/impl_test.go
+++ b/tools/mounttable/impl_test.go
@@ -55,7 +55,7 @@
type dispatcher struct {
}
-func (d *dispatcher) Lookup(suffix, method string) (interface{}, security.Authorizer, error) {
+func (d *dispatcher) Lookup(suffix string) (interface{}, security.Authorizer, error) {
return mounttable.MountTableServer(&server{suffix: suffix}), nil, nil
}
diff --git a/tools/profile/impl_test.go b/tools/profile/impl_test.go
index e24fb92..1dd149d 100644
--- a/tools/profile/impl_test.go
+++ b/tools/profile/impl_test.go
@@ -79,7 +79,7 @@
return &dispatcher{}
}
-func (d *dispatcher) Lookup(suffix, method string) (interface{}, security.Authorizer, error) {
+func (d *dispatcher) Lookup(suffix string) (interface{}, security.Authorizer, error) {
return repository.ProfileServer(&server{suffix: suffix}), nil, nil
}