Versions in this module Expand all Collapse all v0 v0.60.1 Jun 20, 2026 v0.60.0 Jun 20, 2026 Changes in this version + const AEADLimitReached + const ApplicationErrorErrorCode + const ConnectionIDLimitError + const ConnectionRefused + const CryptoBufferExceeded + const FinalSizeError + const FlowControlError + const FrameEncodingError + const IPV6_DONTFRAG — windows/amd64 + const IP_DONTFRAGMENT — windows/amd64 + const InternalError + const InvalidToken + const KeyUpdateError + const NoError + const NoViablePathError + const ProtocolViolation + const StreamLimitError + const StreamStateError + const TransportParameterError + const Version1 + const Version2 + var Err0RTTRejected = errors.New("0-RTT rejected") + var ErrPathClosed = errors.New("path closed") + var ErrPathNotValidated = errors.New("path not yet validated") + var ErrServerClosed = errServerClosed + var ErrTransportClosed = &errTransportClosed + var QUICVersionContextKey = handshake.QUICVersionContextKey + type ApplicationError = qerr.ApplicationError + type ApplicationErrorCode = qerr.ApplicationErrorCode + type ClientInfo struct + AddrVerified bool + RemoteAddr net.Addr + type ClientToken struct + type Config struct + Allow0RTT bool + AllowConnectionWindowIncrease func(conn *Conn, delta uint64) bool + DisablePathMTUDiscovery bool + EnableDatagrams bool + EnableStreamResetPartialDelivery bool + GetConfigForClient func(info *ClientInfo) (*Config, error) + HandshakeIdleTimeout time.Duration + InitialConnectionReceiveWindow uint64 + InitialPacketSize uint16 + InitialStreamReceiveWindow uint64 + KeepAlivePeriod time.Duration + MaxConnectionReceiveWindow uint64 + MaxIdleTimeout time.Duration + MaxIncomingStreams int64 + MaxIncomingUniStreams int64 + MaxStreamReceiveWindow uint64 + TokenStore TokenStore + Tracer func(ctx context.Context, isClient bool, connID ConnectionID) qlogwriter.Trace + Versions []Version + func (c *Config) Clone() *Config + type Conn struct + func Dial(ctx context.Context, c net.PacketConn, addr net.Addr, tlsConf *tls.Config, ...) (*Conn, error) + func DialAddr(ctx context.Context, addr string, tlsConf *tls.Config, conf *Config) (*Conn, error) + func DialAddrEarly(ctx context.Context, addr string, tlsConf *tls.Config, conf *Config) (*Conn, error) + func DialEarly(ctx context.Context, c net.PacketConn, addr net.Addr, tlsConf *tls.Config, ...) (*Conn, error) + func (c *Conn) AcceptStream(ctx context.Context) (*Stream, error) + func (c *Conn) AcceptUniStream(ctx context.Context) (*ReceiveStream, error) + func (c *Conn) AddPath(t *Transport) (*Path, error) + func (c *Conn) CloseWithError(code ApplicationErrorCode, desc string) error + func (c *Conn) ConnectionState() ConnectionState + func (c *Conn) ConnectionStats() ConnectionStats + func (c *Conn) Context() context.Context + func (c *Conn) HandshakeComplete() <-chan struct{} + func (c *Conn) LocalAddr() net.Addr + func (c *Conn) NextConnection(ctx context.Context) (*Conn, error) + func (c *Conn) OpenStream() (*Stream, error) + func (c *Conn) OpenStreamSync(ctx context.Context) (*Stream, error) + func (c *Conn) OpenUniStream() (*SendStream, error) + func (c *Conn) OpenUniStreamSync(ctx context.Context) (*SendStream, error) + func (c *Conn) QlogTrace() qlogwriter.Trace + func (c *Conn) ReceiveDatagram(ctx context.Context) ([]byte, error) + func (c *Conn) RemoteAddr() net.Addr + func (c *Conn) ResetPTO() + func (c *Conn) SendDatagram(p []byte) error + type ConnectionID = protocol.ConnectionID + func ConnectionIDFromBytes(b []byte) ConnectionID + type ConnectionIDGenerator interface + ConnectionIDLen func() int + GenerateConnectionID func() (ConnectionID, error) + type ConnectionState struct + GSO bool + SupportsDatagrams struct{ ... } + SupportsStreamResetPartialDelivery struct{ ... } + TLS tls.ConnectionState + Used0RTT bool + Version Version + type ConnectionStats struct + BytesLost uint64 + BytesReceived uint64 + BytesSent uint64 + LatestRTT time.Duration + MeanDeviation time.Duration + MinRTT time.Duration + PacketsLost uint64 + PacketsReceived uint64 + PacketsSent uint64 + SmoothedRTT time.Duration + type DatagramTooLargeError struct + MaxDatagramPayloadSize int64 + func (e *DatagramTooLargeError) Error() string + func (e *DatagramTooLargeError) Is(target error) bool + type EarlyListener struct + func ListenAddrEarly(addr string, tlsConf *tls.Config, config *Config) (*EarlyListener, error) + func ListenEarly(conn net.PacketConn, tlsConf *tls.Config, config *Config) (*EarlyListener, error) + func (l *EarlyListener) Accept(ctx context.Context) (*Conn, error) + func (l *EarlyListener) Addr() net.Addr + func (l *EarlyListener) Close() error + type HandshakeTimeoutError = qerr.HandshakeTimeoutError + type IdleTimeoutError = qerr.IdleTimeoutError + type Listener struct + func Listen(conn net.PacketConn, tlsConf *tls.Config, config *Config) (*Listener, error) + func ListenAddr(addr string, tlsConf *tls.Config, config *Config) (*Listener, error) + func (l *Listener) Accept(ctx context.Context) (*Conn, error) + func (l *Listener) Addr() net.Addr + func (l *Listener) Close() error + type OOBCapablePacketConn interface + ReadMsgUDP func(b, oob []byte) (n, oobn, flags int, addr *net.UDPAddr, err error) + SetReadBuffer func(int) error + SyscallConn func() (syscall.RawConn, error) + WriteMsgUDP func(b, oob []byte, addr *net.UDPAddr) (n, oobn int, err error) + type Path struct + func (p *Path) Close() error + func (p *Path) Probe(ctx context.Context) error + func (p *Path) Switch() error + type ReceiveStream struct + func (s *ReceiveStream) CancelRead(errorCode StreamErrorCode) + func (s *ReceiveStream) Peek(b []byte) (int, error) + func (s *ReceiveStream) Read(p []byte) (int, error) + func (s *ReceiveStream) SetReadDeadline(t time.Time) error + func (s *ReceiveStream) StreamID() protocol.StreamID + type SendStream struct + func (s *SendStream) CancelWrite(errorCode StreamErrorCode) + func (s *SendStream) Close() error + func (s *SendStream) Context() context.Context + func (s *SendStream) SetReliableBoundary() + func (s *SendStream) SetWriteDeadline(t time.Time) error + func (s *SendStream) StreamID() StreamID + func (s *SendStream) Write(p []byte) (int, error) + type StatelessResetError = qerr.StatelessResetError + type StatelessResetKey [32]byte + type Stream struct + func (s *Stream) CancelRead(errorCode StreamErrorCode) + func (s *Stream) CancelWrite(errorCode StreamErrorCode) + func (s *Stream) Close() error + func (s *Stream) Context() context.Context + func (s *Stream) Peek(b []byte) (int, error) + func (s *Stream) Read(p []byte) (int, error) + func (s *Stream) SetDeadline(t time.Time) error + func (s *Stream) SetReadDeadline(t time.Time) error + func (s *Stream) SetReliableBoundary() + func (s *Stream) SetWriteDeadline(t time.Time) error + func (s *Stream) StreamID() protocol.StreamID + func (s *Stream) Write(p []byte) (int, error) + type StreamError struct + ErrorCode StreamErrorCode + Remote bool + StreamID StreamID + func (e *StreamError) Error() string + func (e *StreamError) Is(target error) bool + type StreamErrorCode = qerr.StreamErrorCode + type StreamID = protocol.StreamID + type StreamLimitReachedError struct + func (e StreamLimitReachedError) Error() string + type TokenGeneratorKey = handshake.TokenProtectorKey + type TokenStore interface + Pop func(key string) (token *ClientToken) + Put func(key string, token *ClientToken) + func NewLRUTokenStore(maxOrigins, tokensPerOrigin int) TokenStore + type Transport struct + Conn net.PacketConn + ConnContext func(context.Context, *ClientInfo) (context.Context, error) + ConnectionIDGenerator ConnectionIDGenerator + ConnectionIDLength int + DisableVersionNegotiationPackets bool + MaxTokenAge time.Duration + StatelessResetKey *StatelessResetKey + TokenGeneratorKey *TokenGeneratorKey + Tracer qlogwriter.Recorder + VerifySourceAddress func(net.Addr) bool + func (t *Transport) Close() error + func (t *Transport) Dial(ctx context.Context, addr net.Addr, tlsConf *tls.Config, conf *Config) (*Conn, error) + func (t *Transport) DialEarly(ctx context.Context, addr net.Addr, tlsConf *tls.Config, conf *Config) (*Conn, error) + func (t *Transport) Listen(tlsConf *tls.Config, conf *Config) (*Listener, error) + func (t *Transport) ListenEarly(tlsConf *tls.Config, conf *Config) (*EarlyListener, error) + func (t *Transport) ReadNonQUICPacket(ctx context.Context, b []byte) (int, net.Addr, error) + func (t *Transport) WriteTo(b []byte, addr net.Addr) (int, error) + type TransportError = qerr.TransportError + type TransportErrorCode = qerr.TransportErrorCode + type Version = protocol.Version + func SupportedVersions() []Version + type VersionNegotiationError = qerr.VersionNegotiationError