Skip to content

gRPC support (HTTP/2 + HTTP/3) #4

Description

@EdmondDantes

Implement gRPC server support on top of the existing HTTP/2 (and HTTP/3) stack.

Scope

  • gRPC framing: 5-byte length-prefixed messages, compression flag.
  • Trailers (grpc-status, grpc-message) over HTTP/2 and HTTP/3.
  • Unary, server-streaming, client-streaming, and bidirectional-streaming RPC patterns.
  • Content-types: application/grpc, application/grpc+proto; optional application/grpc-web for browser clients.
  • Deadline propagation via grpc-timeout.
  • Integration with PHP coroutines so each stream is a coroutine.
  • Optional message compression (gzip).
  • PHPT + interop tests against grpc-go reference client.

Acceptance

  • grpc-go interop test suite passes for the implemented patterns.
  • Works over both HTTP/2 (h2c + h2) and HTTP/3.

Activity

  1. self-assigned this
    on Apr 30, 2026
  2. added this to the Next milestone on Apr 30, 2026
  3. modified the milestones: Next, Next2 on May 16, 2026
  4. moved this from Todo to In Progress in True Async Boardon Jul 4, 2026
  5. added a commit that references this issue on Jul 9, 2026
  6. moved this from In Progress to Done in True Async Boardon Jul 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions