veyron2/ipc: 1 of n. 'Invoker and Signature' rationalisation.

This is the first of several CLs to improve the RPC serving
interfaces. In summary these CLs will:
- make it possible to implement __Signature and __Implements
methods sensibly for Javascript.
- allow for serving of a single object on a name with no
boilerplate
- allow for improved generated code for vdl interfaces
- sundry other cleanups as we go.

The final API will change the method signature of two methods and
add a new method.

ipc.Server.Serve(string, ipc.Dispatcher) will change to
ipc.Server.Serve(string, interface{})
This new API will assume 'LeafDispatcher' semantics - the object
supplied is served for the specified name. If a non-default authorizer
is required it must be provided as an option when the server is
created. This will take out a lot of boiler plate from many apps.

the previous .Serve functionality is now available as:
ipc.Server.ServeWithDispatcher(string, ipc.Dispatcher)

To support the above changes, the ipc.Dispatcher.Lookup method
now returns an interface{} rather than ipc.Invoker. If the
returned value is an ipc.Invoker it will be used, if not, one
a default one will be used in conjunction with the supplied object.

The transition plan is transparent to existing code except
that the return type of Lookup must be changed. This CL
implements this first, non transparent portion of this change,
nameling, changing the signature of the Lookup method.

Change-Id: Id0f0119fa3b5680872f57d703ba4601ce51eef6c
26 files changed
tree: 6b956eeb9229ccb07c886f08351d67cc8f214dc7
  1. lib/
  2. profiles/
  3. runtimes/
  4. security/
  5. services/
  6. tools/