grpc / grpc-go

The Go language implementation of gRPC. HTTP/2 based RPC
https://grpc.io
Apache License 2.0
20.21k stars 4.25k forks source link

Implement Custom Types for gRPC-Go Framer #7376

Open arvindbr8 opened 3 days ago

arvindbr8 commented 3 days ago

Currently, our gRPC-Go implementation relies on the x/net/http2 package for framing HTTP/2 messages. As part of our effort to create a more specialized and optimized gRPC-Go framer, we need to replace the dependency on x/net/http2 data types with our own custom implementations.

Specifically, we have identified the following files from the x/net/http2 package where the relevant data types are defined:

We need to analyze the types in these files to determine which are essential to the framing process and replicate them within our custom framer.

printchard commented 3 days ago

I am sending a PR to fix it.

This PR will contain all the types defined in the frame.go file, those used in the errors.go file and some type definitions in the http2.go file. The http2.go types are not related to the framer itself, but will be necessary to remove completely the dependency on the http2 package in the future.