utils

package
v0.55.0 Latest Latest
Warning

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

Go to latest
Published: Oct 3, 2025 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewBufferedWriteCloser added in v0.32.0

func NewBufferedWriteCloser(writer *bufio.Writer, closer io.Closer) io.WriteCloser

NewBufferedWriteCloser creates an io.WriteCloser from a bufio.Writer and an io.Closer

Types

type ConnectionStats added in v0.55.0

type ConnectionStats struct {
	BytesSent       atomic.Uint64
	PacketsSent     atomic.Uint64
	BytesReceived   atomic.Uint64
	PacketsReceived atomic.Uint64
	BytesLost       atomic.Uint64
	PacketsLost     atomic.Uint64
}

ConnectionStats stores stats for the connection. See the public ConnectionStats struct in connection.go for more information

type LogLevel

type LogLevel uint8

LogLevel of quic-go

const (
	// LogLevelNothing disables
	LogLevelNothing LogLevel = iota
	// LogLevelError enables err logs
	LogLevelError
	// LogLevelInfo enables info logs (e.g. packets)
	LogLevelInfo
	// LogLevelDebug enables debug logs (e.g. packet contents)
	LogLevelDebug
)

type Logger added in v0.8.0

type Logger interface {
	SetLogLevel(LogLevel)
	SetLogTimeFormat(format string)
	WithPrefix(prefix string) Logger
	Debug() bool

	Errorf(format string, args ...any)
	Infof(format string, args ...any)
	Debugf(format string, args ...any)
}

A Logger logs.

var DefaultLogger Logger

DefaultLogger is used by quic-go for logging.

type RTTStats added in v0.32.0

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

RTTStats provides round-trip statistics

func (*RTTStats) Clone added in v0.55.0

func (r *RTTStats) Clone() *RTTStats

func (*RTTStats) LatestRTT added in v0.32.0

func (r *RTTStats) LatestRTT() time.Duration

LatestRTT returns the most recent rtt measurement. May return Zero if no valid updates have occurred.

func (*RTTStats) MaxAckDelay added in v0.32.0

func (r *RTTStats) MaxAckDelay() time.Duration

MaxAckDelay gets the max_ack_delay advertised by the peer

func (*RTTStats) MeanDeviation added in v0.32.0

func (r *RTTStats) MeanDeviation() time.Duration

MeanDeviation gets the mean deviation

func (*RTTStats) MinRTT added in v0.32.0

func (r *RTTStats) MinRTT() time.Duration

MinRTT Returns the minRTT for the entire connection. May return Zero if no valid updates have occurred.

func (*RTTStats) PTO added in v0.32.0

func (r *RTTStats) PTO(includeMaxAckDelay bool) time.Duration

PTO gets the probe timeout duration.

func (*RTTStats) ResetForPathMigration added in v0.50.0

func (r *RTTStats) ResetForPathMigration()

func (*RTTStats) SetInitialRTT added in v0.32.0

func (r *RTTStats) SetInitialRTT(t time.Duration)

SetInitialRTT sets the initial RTT. It is used during handshake when restoring the RTT stats from the token.

func (*RTTStats) SetMaxAckDelay added in v0.32.0

func (r *RTTStats) SetMaxAckDelay(mad time.Duration)

SetMaxAckDelay sets the max_ack_delay

func (*RTTStats) SmoothedRTT added in v0.32.0

func (r *RTTStats) SmoothedRTT() time.Duration

SmoothedRTT returns the smoothed RTT for the connection. May return Zero if no valid updates have occurred.

func (*RTTStats) UpdateRTT added in v0.32.0

func (r *RTTStats) UpdateRTT(sendDelta, ackDelay time.Duration)

UpdateRTT updates the RTT based on a new sample.

type Rand added in v0.32.0

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

Rand is a wrapper around crypto/rand that adds some convenience functions known from math/rand.

func (*Rand) Int31 added in v0.32.0

func (r *Rand) Int31() int32

func (*Rand) Int31n added in v0.32.0

func (r *Rand) Int31n(n int32) int32

copied from the standard library math/rand implementation of Int63n

Directories

Path Synopsis
Package list implements a doubly linked list.
Package list implements a doubly linked list.

Jump to

Keyboard shortcuts

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