grpc / grpc-go

The Go language implementation of gRPC. HTTP/2 based RPC

Home Page:https://grpc.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Implement Custom Types for gRPC-Go Framer

arvindbr8 opened this issue · comments

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:

  • framer.go
  • errors.go

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.

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.