tree 54de6116d9152fcbbf80f7ad8b2cd7b773c3bad9
parent 4118615066c3cd801e8cd06151d934608e434678
author Todd Wang <toddw@google.com> 1429163507 -0700
committer Todd Wang <toddw@google.com> 1429163507 -0700

chat: Move context.T out of rpc.ServerCall.

The purpose of this change is to make our usage of context.T more
consistent; it was a bit lame that we gave guidance to never wrap
context.T in another type, but were doing it ourselves.  The JS
code is also being changed to follow this convention (in separate
CLs), so we'll be consistent between Go and JS as well.

The server implementation used to look like this:
func (*impl) Foo(call rpc.ServerCall, ...)

Now it looks like this:
func (*impl) Foo(ctx *context.T, call rpc.ServerCall, ...)

Also added a ServerCall.Security() function, which returns the
security.Call.  The security.Call is still embedded inside
context.T for now; a subsequent change will remove it from
context.T and add an explicit security.Call argument where
necessary.  That's a separate CL since some of the choices may be
more controversial, and it's a smaller set of changes.

Change-Id: If06a17689393b5d71fe98dade67bbcc44cbf78c0
MultiPart: 5/8
