Documentation
¶
Overview ¶
Package http3 implements the HTTP/3 protocol.
This package is a work in progress. It is not ready for production usage. Its API is subject to change without notice.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ClientConn ¶
type ClientConn struct {
// contains filtered or unexported fields
}
A ClientConn is a client HTTP/3 connection.
Multiple goroutines may invoke methods on a ClientConn simultaneously.
func (*ClientConn) Close ¶
func (cc *ClientConn) Close() error
Close closes the connection. Any in-flight requests are canceled. Close does not wait for the peer to acknowledge the connection closing.
type Server ¶
type Server struct { // Handler to invoke for requests, http.DefaultServeMux if nil. Handler http.Handler // Config is the QUIC configuration used by the server. // The Config may be nil. // // ListenAndServe may clone and modify the Config. // The Config must not be modified after calling ListenAndServe. Config *quic.Config // contains filtered or unexported fields }
A Server is an HTTP/3 server. The zero value for Server is a valid server.
func (*Server) ListenAndServe ¶
ListenAndServe listens on the UDP network address addr and then calls Serve to handle requests on incoming connections.
type Transport ¶
type Transport struct { // Endpoint is the QUIC endpoint used by connections created by the transport. // If unset, it is initialized by the first call to Dial. Endpoint *quic.Endpoint // Config is the QUIC configuration used for client connections. // The Config may be nil. // // Dial may clone and modify the Config. // The Config must not be modified after calling Dial. Config *quic.Config // contains filtered or unexported fields }
A Transport is an HTTP/3 transport.
It does not manage a pool of connections, and therefore does not implement net/http.RoundTripper.
TODO: Provide a way to register an HTTP/3 transport with a net/http.Transport's connection pool.