acmpesuecc / acmpesuecc/zaprpc
feat(transport): implement 0-RTT methods
- Linguagem predominante
- Go
- Estrelas
- 0
- Forks
- 5
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Descrição
## Description
Implement QUIC 0-RTT (zero-round-trip) handshake support in zaprpc, allowing clients to initiate RPC requests immediately on resumed sessions!
QUIC 0-RTT allows previously authenticated clients to send requests immediately on connection resumption, improving latency for RPC calls.
## Expected Work
- Implement the `ServeEarly` method for `Server`, using the `AcceptEarly` method from `quic-go` and allowing users to opt in to rejection of unsafe early data (eg: non idempotent methods), make sure `handleSession` is updated accordingly
- Implement `NewEarlyConn`, similar to `NewConn`, making sure it uses the `DialEarly` method from `quic-go` and TLS Session Resumption is opted in for by the user with TLS `ClientSessionCache`
- If `Zap` fails with 0-RTT, gracefully fallback to normal handshake
## References
- https://quic-go.net/docs/quic/server/
- https://quic-go.net/docs/quic/client/
- https://blog.cloudflare.com/even-faster-connection-establishment-with-quic-0-rtt-resumption/
Guia de contribuição
Avaliação
Esta issue ainda não foi avaliada.