Skip to content

feat(transport): add http/2 option and fallback #5

@achyuthcodes30

Description

@achyuthcodes30

Description

ZapRPC currently speaks QUIC only. In environments where UDP/QUIC is blocked or load balancers/ingress are TCP/HTTP-only, calls fail. Add an HTTP/2 fallback so the same RPC layer (services, codecs, envelopes) works over both QUIC (UDP) and HTTP/2 (TCP/TLS)—with an AUTO mode on the client that tries QUIC first, then falls back to H2.

Expected Work

  • Introduce a transport abstraction so zaprpc can run over QUIC or HTTP/2.
  • Modify Client and Server configs to accommodate this change.
  • Provide a client AUTO mode: try QUIC; if dial/handshake fails or times out, retry on HTTP/2.
  • Provide a server dual-listener option (QUIC + HTTP/2 on separate sockets/ports or behind the same cert).
  • Test your changes with the testing package.

References

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions