Callers no longer need to know about and create their own protobuf client stubs. Instead, appropriate client stubs are created using a supplied gRPC connection.
Callers supply a Context that is used for gRPC invocations, which allows control of timeouts and cancellation of gRPC invocations. Previously invocations used context.Background() and could not be cancelled without terminating the client application.
Parameters for functions that drive gRPC invocations are of the form func(ctx context.Context, connection grpc.ClientConnInterface, id identity.SigningIdentity, ...)
func(ctx context.Context, connection grpc.ClientConnInterface, id identity.SigningIdentity, ...)