qtls

package module
v0.6.2-0...-57980ff Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 17, 2026 License: GPL-2.0 Imports: 11 Imported by: 0

README

sing-quic

quic-go API wrapper and QUIC based protocol implementations.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ApplyQUICOptions

func ApplyQUICOptions(quicConfig *quic.Config, options QUICOptions)

func ConfigureHTTP3

func ConfigureHTTP3(config aTLS.ServerConfig) error

func CreateTransport

func CreateTransport(conn net.PacketConn, quicConnPtr **quic.Conn, serverAddr M.Socksaddr, config aTLS.Config, quicConfig *quic.Config) (http.RoundTripper, error)

func Dial

func Dial(ctx context.Context, conn net.PacketConn, addr net.Addr, config aTLS.Config, quicConfig *quic.Config) (*quic.Conn, error)

func DialEarly

func DialEarly(ctx context.Context, conn net.PacketConn, addr net.Addr, config aTLS.Config, quicConfig *quic.Config) (*quic.Conn, error)

func WrapError

func WrapError(err error) error

Types

type Config

type Config interface {
	Dial(ctx context.Context, conn net.PacketConn, addr net.Addr, config *quic.Config) (*quic.Conn, error)
	DialEarly(ctx context.Context, conn net.PacketConn, addr net.Addr, config *quic.Config) (*quic.Conn, error)
	CreateTransport(conn net.PacketConn, quicConnPtr **quic.Conn, serverAddr M.Socksaddr, quicConfig *quic.Config) http.RoundTripper
}

type EarlyListener

type EarlyListener interface {
	Accept(ctx context.Context) (*quic.Conn, error)
	Close() error
	Addr() net.Addr
}

func ListenEarly

func ListenEarly(conn net.PacketConn, config aTLS.ServerConfig, quicConfig *quic.Config) (EarlyListener, error)

type Listener

type Listener interface {
	Accept(ctx context.Context) (*quic.Conn, error)
	Close() error
	Addr() net.Addr
}

func Listen

func Listen(conn net.PacketConn, config aTLS.ServerConfig, quicConfig *quic.Config) (Listener, error)

type QUICOptions

type QUICOptions struct {
	IdleTimeout             time.Duration
	KeepAlivePeriod         time.Duration
	StreamReceiveWindow     uint64
	ConnectionReceiveWindow uint64
	MaxConcurrentStreams    int
	InitialPacketSize       int
	DisablePathMTUDiscovery bool
}

type ServerConfig

type ServerConfig interface {
	Listen(conn net.PacketConn, config *quic.Config) (Listener, error)
	ListenEarly(conn net.PacketConn, config *quic.Config) (EarlyListener, error)
	ConfigureHTTP3()
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL