Skip to content

Add StreamRPC library code

Jacob Vosmaer requested to merge jv-add-streamrpc into master

Part of gitlab-com/gl-infra/scalability#1125 (closed).

In gitlab-com/gl-infra&463 (closed), we are adding a new RPC protocol called StreamRPC to Gitaly for the benefit of the RPC's that handle git fetch over HTTP: PostUploadPack and PackObjectsHook. This MR adds code that can:

  • handle a new connection on the server and route it to an RPC handler function: streamrpc.Server.Handle
  • make a call to a specific endpoint: streamrpc.Call
  • gRPC middleware support in both of these methods so we can re-use the Gitaly middleware stack

It does not yet add the capability for Gitaly to accept StreamRPC calls (this is blocked by !3593 (merged)) nor any RPC's that use StreamRPC.

Edited by Jacob Vosmaer

Merge request reports