blob: beb8086fcdd4833d0d3a3d75f7e5d5521eec24d0 [file] [log] [blame]
DO NOT SUBMIT: RPC2 Experiment.
This change implements a prototype POC for RPC2.
All new implementation is prefixed with X and we did not change any existing
code.
Doc: https://docs.google.com/a/google.com/document/d/11NlwHsNyGg-bZU0-d43s-z0HS9pz9x4QSwpe0M8bukQ/edit?usp=sharing
Main points:
(1) VIF/VC are unified into one layer. This automatically saves us a round
of auth when making a direct connection (not through a proxy)
(2) When talking through a proxy, a VC is built on top of flows from the client
to the proxy and from the proxy to the server. This allows us to reuse the
stream manager for the proxy, allowing it to be built with the stream API.
Code:
x_client.go, x_server.go are mostly identical to client.go and server.go, just
with different types.
The real implementation are in xvc.go, x_manager.go, rpc/proxy.go, and x_listener.go.
Change-Id: I650570570d597a27274430e83a5efa118e6923c6