quicreuse

package
v0.24.2 Latest Latest
Warning

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

Go to latest
Published: Dec 31, 2022 License: MIT Imports: 20 Imported by: 37

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func FromQuicMultiaddr

func FromQuicMultiaddr(addr ma.Multiaddr) (*net.UDPAddr, quic.VersionNumber, error)

func ToQuicMultiaddr

func ToQuicMultiaddr(na net.Addr, version quic.VersionNumber) (ma.Multiaddr, error)

Types

type ConnManager

type ConnManager struct {
	// contains filtered or unexported fields
}

func NewConnManager

func NewConnManager(statelessResetKey quic.StatelessResetKey, opts ...Option) (*ConnManager, error)

func (*ConnManager) Close

func (c *ConnManager) Close() error

func (*ConnManager) Dial

func (c *ConnManager) Dial(network string, raddr *net.UDPAddr) (pConn, error)

func (*ConnManager) DialQUIC

func (c *ConnManager) DialQUIC(ctx context.Context, raddr ma.Multiaddr, tlsConf *tls.Config, allowWindowIncrease func(conn quic.Connection, delta uint64) bool) (quic.Connection, error)

func (*ConnManager) ListenQUIC

func (c *ConnManager) ListenQUIC(addr ma.Multiaddr, tlsConf *tls.Config, allowWindowIncrease func(conn quic.Connection, delta uint64) bool) (Listener, error)

func (*ConnManager) Protocols

func (c *ConnManager) Protocols() []int

type Listener

type Listener interface {
	Accept(context.Context) (quic.Connection, error)
	Addr() net.Addr
	Multiaddrs() []ma.Multiaddr
	io.Closer
}

type Option

type Option func(*ConnManager) error

func DisableDraft29

func DisableDraft29() Option

DisableDraft29 disables support for QUIC draft-29. This option should be set, unless support for this legacy QUIC version is needed for backwards compatibility. Support for QUIC draft-29 is already deprecated and will be removed in the future, see https://github.com/libp2p/go-libp2p/issues/1841.

func DisableReuseport

func DisableReuseport() Option

func EnableMetrics

func EnableMetrics() Option

EnableMetrics enables Prometheus metrics collection.

Jump to

Keyboard shortcuts

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