Versions in this module Expand all Collapse all v0 v0.0.1 Jun 20, 2024 Changes in this version + const AEADLimitReached + const ApplicationErrorErrorCode + const ConnectionIDLimitError + const ConnectionRefused + const CryptoBufferExceeded + const FinalSizeError + const FlowControlError + const FrameEncodingError + 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 ConnectionTracingKey = connTracingCtxKey + var Err0RTTRejected = errors.New("0-RTT rejected") + var ErrServerClosed = errors.New("quic: server closed") + var QUICVersionContextKey = handshake.QUICVersionContextKey + type ApplicationError = qerr.ApplicationError + type ApplicationErrorCode = qerr.ApplicationErrorCode + type ClientHelloInfo struct + RemoteAddr net.Addr + type ClientToken struct + type Config struct + Allow0RTT bool + AllowConnectionWindowIncrease func(conn Connection, delta uint64) bool + ClientHelloSeed *prng.Seed + ClientMaxPacketSizeAdjustment int + DisablePathMTUDiscovery bool + EnableDatagrams bool + GetClientHelloRandom func() ([]byte, error) + GetConfigForClient func(info *ClientHelloInfo) (*Config, error) + HandshakeIdleTimeout time.Duration + InitialConnectionReceiveWindow uint64 + InitialStreamReceiveWindow uint64 + KeepAlivePeriod time.Duration + MaxConnectionReceiveWindow uint64 + MaxIdleTimeout time.Duration + MaxIncomingStreams int64 + MaxIncomingUniStreams int64 + MaxStreamReceiveWindow uint64 + RequireAddressValidation func(net.Addr) bool + ServerMaxPacketSizeAdjustment func(net.Addr) int + TokenStore TokenStore + Tracer func(context.Context, logging.Perspective, ConnectionID) *logging.ConnectionTracer + VerifyClientHelloRandom func(net.Addr, []byte) bool + Versions []VersionNumber + func (c *Config) Clone() *Config + type Connection interface + AcceptStream func(context.Context) (Stream, error) + AcceptUniStream func(context.Context) (ReceiveStream, error) + CloseWithError func(ApplicationErrorCode, string) error + ConnectionState func() ConnectionState + Context func() context.Context + LocalAddr func() net.Addr + OpenStream func() (Stream, error) + OpenStreamSync func(context.Context) (Stream, error) + OpenUniStream func() (SendStream, error) + OpenUniStreamSync func(context.Context) (SendStream, error) + ReceiveDatagram func(context.Context) ([]byte, error) + RemoteAddr func() net.Addr + SendDatagram func(payload []byte) error + func Dial(ctx context.Context, c net.PacketConn, addr net.Addr, tlsConf *tls.Config, ...) (Connection, error) + func DialAddr(ctx context.Context, addr string, tlsConf *tls.Config, conf *Config) (Connection, 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 bool + TLS tls.ConnectionState + Used0RTT bool + Version VersionNumber + type DatagramTooLargeError struct + PeerMaxDatagramFrameSize int64 + func (e *DatagramTooLargeError) Error() string + func (e *DatagramTooLargeError) Is(target error) bool + type EarlyConnection interface + HandshakeComplete func() <-chan struct{} + NextConnection func() Connection + func DialAddrEarly(ctx context.Context, addr string, tlsConf *tls.Config, conf *Config) (EarlyConnection, error) + func DialEarly(ctx context.Context, c net.PacketConn, addr net.Addr, tlsConf *tls.Config, ...) (EarlyConnection, error) + 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) (EarlyConnection, 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) (Connection, 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 ReceiveStream interface + CancelRead func(StreamErrorCode) + SetReadDeadline func(t time.Time) error + StreamID func() StreamID + type SendStream interface + CancelWrite func(StreamErrorCode) + Context func() context.Context + SetWriteDeadline func(t time.Time) error + StreamID func() StreamID + type StatelessResetError = qerr.StatelessResetError + type StatelessResetKey [32]byte + type Stream interface + SetDeadline func(t time.Time) 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 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 + ConnectionIDGenerator ConnectionIDGenerator + ConnectionIDLength int + DisableVersionNegotiationPackets bool + MaxTokenAge time.Duration + StatelessResetKey *StatelessResetKey + TokenGeneratorKey *TokenGeneratorKey + Tracer *logging.Tracer + func (t *Transport) Close() error + func (t *Transport) Dial(ctx context.Context, addr net.Addr, tlsConf *tls.Config, conf *Config) (Connection, error) + func (t *Transport) DialEarly(ctx context.Context, addr net.Addr, tlsConf *tls.Config, conf *Config) (EarlyConnection, 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 VersionNegotiationError = qerr.VersionNegotiationError + type VersionNumber = protocol.VersionNumber