overlay

package
v0.0.0-...-d687121 Latest Latest
Warning

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

Go to latest
Published: Apr 4, 2024 License: MIT Imports: 27 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func WrapQuicConnection

func WrapQuicConnection(s quic.Stream, q quic.Connection) net.Conn

Types

type ALPNMux

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

func NewMux

func NewMux(tr *quic.Transport) (*ALPNMux, error)

func (*ALPNMux) Accept

func (a *ALPNMux) Accept(ctx context.Context)

func (*ALPNMux) Close

func (a *ALPNMux) Close()

func (*ALPNMux) With

func (a *ALPNMux) With(baseCfg *tls.Config, protos ...string) q.EarlyListener

type QUIC

type QUIC struct {
	TransportConfig
	// contains filtered or unexported fields
}

func NewQUIC

func NewQUIC(conf TransportConfig) *QUIC

func (*QUIC) AcceptStream

func (t *QUIC) AcceptStream() <-chan *transport.StreamDelegate

func (*QUIC) AcceptWithListener

func (t *QUIC) AcceptWithListener(ctx context.Context, listener q.EarlyListener) error

func (*QUIC) DialStream

func (t *QUIC) DialStream(ctx context.Context, peer *protocol.Node, kind protocol.Stream_Type) (net.Conn, error)

func (*QUIC) Identity

func (t *QUIC) Identity() *protocol.Node

func (*QUIC) ListConnected

func (t *QUIC) ListConnected() []transport.ConnectedPeer

func (*QUIC) ReceiveDatagram

func (t *QUIC) ReceiveDatagram() <-chan *transport.DatagramDelegate

func (*QUIC) SendDatagram

func (t *QUIC) SendDatagram(peer *protocol.Node, buf []byte) error

func (*QUIC) Stop

func (t *QUIC) Stop()

func (*QUIC) SupportDatagram

func (t *QUIC) SupportDatagram() bool

func (*QUIC) WithClientCertificate

func (t *QUIC) WithClientCertificate(cert tls.Certificate) error

type TransportConfig

type TransportConfig struct {
	Logger                 *zap.Logger
	QuicTransport          *quic.Transport
	Endpoint               *protocol.Node
	ServerTLS              *tls.Config
	ClientTLS              *tls.Config
	RTTRecorder            rtt.Recorder
	VirtualTransport       bool
	UseCertificateIdentity bool
}

Jump to

Keyboard shortcuts

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