quic

package
v0.0.0-...-7b93736 Latest Latest
Warning

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

Go to latest
Published: Nov 2, 2022 License: MIT Imports: 25 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ConnectionRTTTracer

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

func (ConnectionRTTTracer) AcknowledgedPacket

func (ConnectionRTTTracer) BufferedPacket

func (c ConnectionRTTTracer) BufferedPacket(packetType logging.PacketType)

func (ConnectionRTTTracer) Close

func (c ConnectionRTTTracer) Close()

func (ConnectionRTTTracer) ClosedConnection

func (c ConnectionRTTTracer) ClosedConnection(error)

func (ConnectionRTTTracer) Debug

func (c ConnectionRTTTracer) Debug(name, msg string)

func (ConnectionRTTTracer) DroppedEncryptionLevel

func (c ConnectionRTTTracer) DroppedEncryptionLevel(level logging.EncryptionLevel)

func (ConnectionRTTTracer) DroppedKey

func (c ConnectionRTTTracer) DroppedKey(generation logging.KeyPhase)

func (ConnectionRTTTracer) DroppedPacket

func (c ConnectionRTTTracer) DroppedPacket(packetType logging.PacketType, count logging.ByteCount, reason logging.PacketDropReason)

func (ConnectionRTTTracer) LossTimerCanceled

func (c ConnectionRTTTracer) LossTimerCanceled()

func (ConnectionRTTTracer) LossTimerExpired

func (c ConnectionRTTTracer) LossTimerExpired(timerType logging.TimerType, level logging.EncryptionLevel)

func (ConnectionRTTTracer) LostPacket

func (ConnectionRTTTracer) NegotiatedVersion

func (c ConnectionRTTTracer) NegotiatedVersion(chosen logging.VersionNumber, clientVersions, serverVersions []logging.VersionNumber)

func (ConnectionRTTTracer) ReceivedLongHeaderPacket

func (c ConnectionRTTTracer) ReceivedLongHeaderPacket(hdr *logging.ExtendedHeader, size logging.ByteCount, frames []logging.Frame)

func (*ConnectionRTTTracer) ReceivedPacket

func (c *ConnectionRTTTracer) ReceivedPacket(hdr *logging.ExtendedHeader, size logging.ByteCount, frames []logging.Frame)

func (ConnectionRTTTracer) ReceivedRetry

func (c ConnectionRTTTracer) ReceivedRetry(header *logging.Header)

func (ConnectionRTTTracer) ReceivedShortHeaderPacket

func (c ConnectionRTTTracer) ReceivedShortHeaderPacket(hdr *logging.ShortHeader, size logging.ByteCount, frames []logging.Frame)

func (ConnectionRTTTracer) ReceivedTransportParameters

func (c ConnectionRTTTracer) ReceivedTransportParameters(parameters *logging.TransportParameters)

func (ConnectionRTTTracer) ReceivedVersionNegotiationPacket

func (c ConnectionRTTTracer) ReceivedVersionNegotiationPacket(dest, src logging.ArbitraryLenConnectionID, _ []logging.VersionNumber)

func (*ConnectionRTTTracer) RestoredTransportParameters

func (c *ConnectionRTTTracer) RestoredTransportParameters(parameters *logging.TransportParameters)

func (*ConnectionRTTTracer) SentPacket

func (c *ConnectionRTTTracer) SentPacket(hdr *logging.ExtendedHeader, size logging.ByteCount, ack *logging.AckFrame, frames []logging.Frame)

func (ConnectionRTTTracer) SentTransportParameters

func (c ConnectionRTTTracer) SentTransportParameters(parameters *logging.TransportParameters)

func (ConnectionRTTTracer) SetLossTimer

func (c ConnectionRTTTracer) SetLossTimer(timerType logging.TimerType, level logging.EncryptionLevel, time time.Time)

func (ConnectionRTTTracer) StartedConnection

func (c ConnectionRTTTracer) StartedConnection(local, remote net.Addr, srcConnID, destConnID logging.ConnectionID)

func (ConnectionRTTTracer) UpdatedCongestionState

func (c ConnectionRTTTracer) UpdatedCongestionState(state logging.CongestionState)

func (ConnectionRTTTracer) UpdatedKey

func (c ConnectionRTTTracer) UpdatedKey(generation logging.KeyPhase, remote bool)

func (ConnectionRTTTracer) UpdatedKeyFromTLS

func (c ConnectionRTTTracer) UpdatedKeyFromTLS(level logging.EncryptionLevel, perspective logging.Perspective)

func (*ConnectionRTTTracer) UpdatedMetrics

func (c *ConnectionRTTTracer) UpdatedMetrics(rttStats *logging.RTTStats, cwnd, bytesInFlight logging.ByteCount, packetsInFlight int)

func (ConnectionRTTTracer) UpdatedPTOCount

func (c ConnectionRTTTracer) UpdatedPTOCount(value uint32)

type DataStreamWriter

type DataStreamWriter struct {
	io.Writer
}

type Handler

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

func (*Handler) SetRTPReader

func (h *Handler) SetRTPReader(r interceptor.RTPReader)

func (*Handler) WriteRTCP

func (h *Handler) WriteRTCP(pkts []rtcp.Packet, attributes interceptor.Attributes) (int, error)

type Metricer

type Metricer interface {
	Metrics() RTTStats
}

type RTTStats

type RTTStats struct {
	MinRTT      time.Duration
	SmoothedRTT time.Duration
	RTTVar      time.Duration
	LatestRTT   time.Duration
}

type RTTTracer

type RTTTracer struct {
	MinRTT      time.Duration
	SmoothedRTT time.Duration
	RTTVar      time.Duration
	LatestRTT   time.Duration
	// contains filtered or unexported fields
}

func NewTracer

func NewTracer() *RTTTracer

func (*RTTTracer) DroppedPacket

func (q *RTTTracer) DroppedPacket(addr net.Addr, packetType logging.PacketType, count logging.ByteCount, reason logging.PacketDropReason)

func (*RTTTracer) Metrics

func (q *RTTTracer) Metrics() RTTStats

func (*RTTTracer) SentPacket

func (q *RTTTracer) SentPacket(addr net.Addr, header *logging.Header, count logging.ByteCount, frames []logging.Frame)

func (*RTTTracer) SentVersionNegotiationPacket

func (q *RTTTracer) SentVersionNegotiationPacket(_ net.Addr, dest, src logging.ArbitraryLenConnectionID, _ []logging.VersionNumber)

func (*RTTTracer) TracerForConnection

type Sender

type Sender struct {
	*SenderConfig
	// contains filtered or unexported fields
}

func NewSender

func NewSender(r *interceptor.Registry, opts ...SenderOption) (*Sender, error)

func (*Sender) Connect

func (s *Sender) Connect(ctx context.Context) error

func (*Sender) NewDataStreamWithDefaultFlowID

func (s *Sender) NewDataStreamWithDefaultFlowID(ctx context.Context) (io.Writer, error)

func (*Sender) NewDataStreamWithFlowID

func (s *Sender) NewDataStreamWithFlowID(ctx context.Context, id uint64) (io.Writer, error)

func (*Sender) NewDataStreamWithoutFlowID

func (s *Sender) NewDataStreamWithoutFlowID(ctx context.Context) (io.Writer, error)

func (*Sender) NewMediaStream

func (s *Sender) NewMediaStream() (interceptor.RTPWriter, error)

func (*Sender) NewMediaStreamWithFlowID

func (s *Sender) NewMediaStreamWithFlowID(id uint64) interceptor.RTPWriter

type SenderConfig

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

type SenderOption

type SenderOption func(*SenderConfig) error

func RemoteAddress

func RemoteAddress(addr string) SenderOption

func SetLocalRFC8888

func SetLocalRFC8888(enabled bool) SenderOption

func SetSenderQLOGDirName

func SetSenderQLOGDirName(dir string) SenderOption

func SetSenderQUICCongestionControlAlgorithm

func SetSenderQUICCongestionControlAlgorithm(algorithm cc.Algorithm) SenderOption

func SetSenderSSLKeyLogFileName

func SetSenderSSLKeyLogFileName(file string) SenderOption

func SetTransportMode

func SetTransportMode(mode TransportMode) SenderOption

type Server

type Server struct {
	*ServerConfig
	// contains filtered or unexported fields
}

func NewServer

func NewServer(opts ...ServerOption) (*Server, error)

func (*Server) OnNewHandler

func (s *Server) OnNewHandler(f func(*Handler))

func (*Server) Start

func (s *Server) Start(ctx context.Context) error

type ServerConfig

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

type ServerOption

type ServerOption func(*ServerConfig) error

func LocalAddress

func LocalAddress(addr string) ServerOption

func SetServerQLOGDirName

func SetServerQLOGDirName(dir string) ServerOption

func SetServerQUICCongestionControlAlgorithm

func SetServerQUICCongestionControlAlgorithm(algorithm cc.Algorithm) ServerOption

func SetServerSSLKeyLogFileName

func SetServerSSLKeyLogFileName(file string) ServerOption

type TransportMode

type TransportMode int
const (
	ANY TransportMode = iota
	DGRAM
	STREAM
)

func TransportModeFromString

func TransportModeFromString(s string) TransportMode

Jump to

Keyboard shortcuts

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