Skip to content

drpcquic: add QUIC transport for drpc using quic-go#63

Draft
eshwarsriramoju wants to merge 9 commits into
cockroachdb:mainfrom
eshwarsriramoju:feat/drpc-quic
Draft

drpcquic: add QUIC transport for drpc using quic-go#63
eshwarsriramoju wants to merge 9 commits into
cockroachdb:mainfrom
eshwarsriramoju:feat/drpc-quic

Conversation

@eshwarsriramoju

Copy link
Copy Markdown
  • Adds a MultiplexedTransport interface to drpc for connections that can open/accept independent bidirectional streams (e.g. QUIC)
  • Introduces drpcquic package with Dial, Listen, Serve, and a Transport wrapper around quic.Stream (FIN-aware close + error mapping)
  • Adds QUICManager in drpcmanager for one-stream-per-RPC multiplexed mode, and NewForReader/readLoop in drpcstream so each stream owns its transport
  • Extends drpcconn.Conn with NewFromMultiplexed to support concurrent Invoke calls (each on its own QUIC stream)
    Adds ServeMultiplexed in drpcserver for concurrent server-side RPC handling
    Includes end-to-end tests (streaming, concurrency, cancellation, server-death, leak detection) and a runnable demo in cmd/quicdemo

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant