qlog

package
v0.60.0 Latest Latest
Warning

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

Go to latest
Published: Jun 4, 2026 License: MIT Imports: 17 Imported by: 119

Documentation

Index

Constants

View Source
const (
	// KeyPhaseZero is key phase bit 0
	KeyPhaseZero = protocol.KeyPhaseZero
	// KeyPhaseOne is key phase bit 1
	KeyPhaseOne = protocol.KeyPhaseOne
)
View Source
const EventSchema = "urn:ietf:params:qlog:events:quic-12"

EventSchema is the qlog event schema for QUIC

Variables

This section is empty.

Functions

func DefaultConnectionTracer added in v0.45.0

func DefaultConnectionTracer(_ context.Context, isClient bool, connID ConnectionID) qlogwriter.Trace

DefaultConnectionTracer creates a qlog file in the qlog directory specified by the QLOGDIR environment variable. File names are <odcid>_<perspective>.sqlog. Returns nil if QLOGDIR is not set.

func DefaultConnectionTracerWithSchemas added in v0.56.0

func DefaultConnectionTracerWithSchemas(_ context.Context, isClient bool, connID ConnectionID, eventSchemas []string) qlogwriter.Trace

Types

type ALPNInformation added in v0.56.0

type ALPNInformation struct {
	ChosenALPN string
}

func (ALPNInformation) Encode added in v0.56.0

func (e ALPNInformation) Encode(enc *jsontext.Encoder, _ time.Time) error

func (ALPNInformation) Name added in v0.56.0

func (e ALPNInformation) Name() string

type AckFrame added in v0.56.0

type AckFrame = wire.AckFrame

An AckFrame is an ACK frame.

type AckFrequencyFrame added in v0.56.0

type AckFrequencyFrame = wire.AckFrequencyFrame

An AckFrequencyFrame is an ACK_FREQUENCY frame.

type AckRange added in v0.56.0

type AckRange = wire.AckRange

type ApplicationErrorCode added in v0.56.0

type ApplicationErrorCode = qerr.ApplicationErrorCode

type ArbitraryLenConnectionID added in v0.56.0

type ArbitraryLenConnectionID = protocol.ArbitraryLenConnectionID

type CongestionState added in v0.56.0

type CongestionState string
const (
	// CongestionStateSlowStart is the slow start phase of Reno / Cubic
	CongestionStateSlowStart CongestionState = "slow_start"
	// CongestionStateCongestionAvoidance is the congestion avoidance phase of Reno / Cubic
	CongestionStateCongestionAvoidance CongestionState = "congestion_avoidance"
	// CongestionStateRecovery is the recovery phase of Reno / Cubic
	CongestionStateRecovery CongestionState = "recovery"
	// CongestionStateApplicationLimited means that the congestion controller is application limited
	CongestionStateApplicationLimited CongestionState = "application_limited"
)

func (CongestionState) String added in v0.56.0

func (s CongestionState) String() string

type CongestionStateUpdated added in v0.56.0

type CongestionStateUpdated struct {
	State CongestionState
}

func (CongestionStateUpdated) Encode added in v0.56.0

func (CongestionStateUpdated) Name added in v0.56.0

func (e CongestionStateUpdated) Name() string

type ConnectionCloseFrame added in v0.56.0

type ConnectionCloseFrame = wire.ConnectionCloseFrame

A ConnectionCloseFrame is a CONNECTION_CLOSE frame.

type ConnectionCloseTrigger added in v0.56.0

type ConnectionCloseTrigger string
const (
	// IdleTimeout indicates the connection was closed due to idle timeout
	ConnectionCloseTriggerIdleTimeout ConnectionCloseTrigger = "idle_timeout"
	// Application indicates the connection was closed by the application
	ConnectionCloseTriggerApplication ConnectionCloseTrigger = "application"
	// VersionMismatch indicates the connection was closed due to a QUIC version mismatch
	ConnectionCloseTriggerVersionMismatch ConnectionCloseTrigger = "version_mismatch"
	// StatelessReset indicates the connection was closed due to receiving a stateless reset from the peer
	ConnectionCloseTriggerStatelessReset ConnectionCloseTrigger = "stateless_reset"
)

type ConnectionClosed added in v0.56.0

type ConnectionClosed struct {
	Initiator Initiator

	ConnectionError  *TransportErrorCode
	ApplicationError *ApplicationErrorCode

	Reason string

	Trigger ConnectionCloseTrigger
}

func (ConnectionClosed) Encode added in v0.56.0

func (e ConnectionClosed) Encode(enc *jsontext.Encoder, _ time.Time) error

func (ConnectionClosed) Name added in v0.56.0

func (e ConnectionClosed) Name() string

type ConnectionID added in v0.56.0

type ConnectionID = protocol.ConnectionID

type CryptoFrame added in v0.56.0

type CryptoFrame struct {
	Offset int64
	Length int64
}

A CryptoFrame is a CRYPTO frame.

type DataBlockedFrame added in v0.56.0

type DataBlockedFrame = wire.DataBlockedFrame

A DataBlockedFrame is a DATA_BLOCKED frame.

type DatagramFrame added in v0.56.0

type DatagramFrame struct {
	Length int64
}

A DatagramFrame is a DATAGRAM frame.

type DatagramID added in v0.58.0

type DatagramID uint32

DatagramID is a unique identifier for a datagram

func CalculateDatagramID added in v0.58.0

func CalculateDatagramID(packet []byte) DatagramID

CalculateDatagramID computes a DatagramID for a given packet

type DebugEvent added in v0.58.0

type DebugEvent struct {
	EventName string
	Message   string
}

DebugEvent is a generic event that can be used to log arbitrary messages.

func (DebugEvent) Encode added in v0.58.0

func (e DebugEvent) Encode(enc *jsontext.Encoder, _ time.Time) error

func (DebugEvent) Name added in v0.58.0

func (e DebugEvent) Name() string

type ECN added in v0.56.0

type ECN string

ECN represents the Explicit Congestion Notification value.

const (
	// ECNUnsupported means that no ECN value was set / received
	ECNUnsupported ECN = ""
	// ECTNot is Not-ECT
	ECTNot ECN = "Not-ECT"
	// ECT0 is ECT(0)
	ECT0 ECN = "ECT(0)"
	// ECT1 is ECT(1)
	ECT1 ECN = "ECT(1)"
	// ECNCE is CE
	ECNCE ECN = "CE"
)

type ECNState added in v0.56.0

type ECNState string

ECNState is the state of the ECN state machine (see Appendix A.4 of RFC 9000)

const (
	// ECNStateTesting is the testing state
	ECNStateTesting ECNState = "testing"
	// ECNStateUnknown is the unknown state
	ECNStateUnknown ECNState = "unknown"
	// ECNStateFailed is the failed state
	ECNStateFailed ECNState = "failed"
	// ECNStateCapable is the capable state
	ECNStateCapable ECNState = "capable"
)

type ECNStateUpdated added in v0.56.0

type ECNStateUpdated struct {
	State   ECNState
	Trigger string
}

func (ECNStateUpdated) Encode added in v0.56.0

func (e ECNStateUpdated) Encode(enc *jsontext.Encoder, _ time.Time) error

func (ECNStateUpdated) Name added in v0.56.0

func (e ECNStateUpdated) Name() string

type EncryptionLevel added in v0.56.0

type EncryptionLevel = protocol.EncryptionLevel

type Frame added in v0.56.0

type Frame struct {
	Frame any
}

func (Frame) Encode added in v0.56.0

func (f Frame) Encode(enc *jsontext.Encoder) error

type HandshakeDoneFrame added in v0.56.0

type HandshakeDoneFrame = wire.HandshakeDoneFrame

A HandshakeDoneFrame is a HANDSHAKE_DONE frame.

type ImmediateAckFrame added in v0.56.0

type ImmediateAckFrame = wire.ImmediateAckFrame

An ImmediateAckFrame is an IMMEDIATE_ACK frame.

type Initiator added in v0.56.0

type Initiator string
const (
	InitiatorLocal  Initiator = "local"
	InitiatorRemote Initiator = "remote"
)

type KeyDiscarded added in v0.56.0

type KeyDiscarded struct {
	KeyType  KeyType
	KeyPhase KeyPhase // only set for 1-RTT keys
}

func (KeyDiscarded) Encode added in v0.56.0

func (e KeyDiscarded) Encode(enc *jsontext.Encoder, _ time.Time) error

func (KeyDiscarded) Name added in v0.56.0

func (e KeyDiscarded) Name() string

type KeyPhase added in v0.56.0

type KeyPhase = protocol.KeyPhase

type KeyPhaseBit added in v0.56.0

type KeyPhaseBit = protocol.KeyPhaseBit

type KeyType added in v0.56.0

type KeyType string

KeyType represents the type of cryptographic key used in QUIC connections.

const (
	// KeyTypeServerInitial represents the server's initial secret key.
	KeyTypeServerInitial KeyType = "server_initial_secret"
	// KeyTypeClientInitial represents the client's initial secret key.
	KeyTypeClientInitial KeyType = "client_initial_secret"
	// KeyTypeServerHandshake represents the server's handshake secret key.
	KeyTypeServerHandshake KeyType = "server_handshake_secret"
	// KeyTypeClientHandshake represents the client's handshake secret key.
	KeyTypeClientHandshake KeyType = "client_handshake_secret"
	// KeyTypeServer0RTT represents the server's 0-RTT secret key.
	KeyTypeServer0RTT KeyType = "server_0rtt_secret"
	// KeyTypeClient0RTT represents the client's 0-RTT secret key.
	KeyTypeClient0RTT KeyType = "client_0rtt_secret"
	// KeyTypeServer1RTT represents the server's 1-RTT secret key.
	KeyTypeServer1RTT KeyType = "server_1rtt_secret"
	// KeyTypeClient1RTT represents the client's 1-RTT secret key.
	KeyTypeClient1RTT KeyType = "client_1rtt_secret"
)

type KeyUpdateTrigger added in v0.56.0

type KeyUpdateTrigger string

KeyUpdateTrigger describes what caused a key update event.

const (
	// KeyUpdateTLS indicates the key update was triggered by TLS.
	KeyUpdateTLS KeyUpdateTrigger = "tls"
	// KeyUpdateRemote indicates the key update was triggered by the remote peer.
	KeyUpdateRemote KeyUpdateTrigger = "remote_update"
	// KeyUpdateLocal indicates the key update was triggered locally.
	KeyUpdateLocal KeyUpdateTrigger = "local_update"
)

type KeyUpdated added in v0.56.0

type KeyUpdated struct {
	Trigger  KeyUpdateTrigger
	KeyType  KeyType
	KeyPhase KeyPhase // only set for 1-RTT keys

}

func (KeyUpdated) Encode added in v0.56.0

func (e KeyUpdated) Encode(enc *jsontext.Encoder, _ time.Time) error

func (KeyUpdated) Name added in v0.56.0

func (e KeyUpdated) Name() string

type LossTimerUpdateType added in v0.56.0

type LossTimerUpdateType string
const (
	LossTimerUpdateTypeSet       LossTimerUpdateType = "set"
	LossTimerUpdateTypeExpired   LossTimerUpdateType = "expired"
	LossTimerUpdateTypeCancelled LossTimerUpdateType = "cancelled"
)

type LossTimerUpdated added in v0.56.0

type LossTimerUpdated struct {
	Type      LossTimerUpdateType
	TimerType TimerType
	EncLevel  EncryptionLevel
	Time      time.Time
}

func (LossTimerUpdated) Encode added in v0.56.0

func (e LossTimerUpdated) Encode(enc *jsontext.Encoder, t time.Time) error

func (LossTimerUpdated) Name added in v0.56.0

func (e LossTimerUpdated) Name() string

type MTUUpdated added in v0.56.0

type MTUUpdated struct {
	Value int
	Done  bool
}

func (MTUUpdated) Encode added in v0.56.0

func (e MTUUpdated) Encode(enc *jsontext.Encoder, _ time.Time) error

func (MTUUpdated) Name added in v0.56.0

func (e MTUUpdated) Name() string

type MaxDataFrame added in v0.56.0

type MaxDataFrame = wire.MaxDataFrame

A MaxDataFrame is a MAX_DATA frame.

type MaxStreamDataFrame added in v0.56.0

type MaxStreamDataFrame = wire.MaxStreamDataFrame

A MaxStreamDataFrame is a MAX_STREAM_DATA frame.

type MaxStreamsFrame added in v0.56.0

type MaxStreamsFrame = wire.MaxStreamsFrame

A MaxStreamsFrame is a MAX_STREAMS_FRAME.

type MetricsUpdated added in v0.56.0

type MetricsUpdated struct {
	MinRTT           time.Duration
	SmoothedRTT      time.Duration
	LatestRTT        time.Duration
	RTTVariance      time.Duration
	CongestionWindow int
	BytesInFlight    int
	PacketsInFlight  int
}

MetricsUpdated logs RTT and congestion metrics as defined in the recovery:metrics_updated event. The PTO count is logged via PTOCountUpdated.

func (MetricsUpdated) Encode added in v0.56.0

func (e MetricsUpdated) Encode(enc *jsontext.Encoder, _ time.Time) error

func (MetricsUpdated) Name added in v0.56.0

func (e MetricsUpdated) Name() string

type NewConnectionIDFrame added in v0.56.0

type NewConnectionIDFrame = wire.NewConnectionIDFrame

A NewConnectionIDFrame is a NEW_CONNECTION_ID frame.

type NewTokenFrame added in v0.56.0

type NewTokenFrame = wire.NewTokenFrame

A NewTokenFrame is a NEW_TOKEN frame.

type PTOCountUpdated added in v0.56.0

type PTOCountUpdated struct {
	PTOCount uint32
}

PTOCountUpdated logs the pto_count value of the recovery:metrics_updated event.

func (PTOCountUpdated) Encode added in v0.56.0

func (e PTOCountUpdated) Encode(enc *jsontext.Encoder, _ time.Time) error

func (PTOCountUpdated) Name added in v0.56.0

func (e PTOCountUpdated) Name() string

type PacketBuffered added in v0.56.0

type PacketBuffered struct {
	Header     PacketHeader
	Raw        RawInfo
	DatagramID DatagramID
}

func (PacketBuffered) Encode added in v0.56.0

func (e PacketBuffered) Encode(enc *jsontext.Encoder, _ time.Time) error

func (PacketBuffered) Name added in v0.56.0

func (e PacketBuffered) Name() string

type PacketDropReason added in v0.56.0

type PacketDropReason string
const (
	// PacketDropKeyUnavailable is used when a packet is dropped because keys are unavailable
	PacketDropKeyUnavailable PacketDropReason = "key_unavailable"
	// PacketDropUnknownConnectionID is used when a packet is dropped because the connection ID is unknown
	PacketDropUnknownConnectionID PacketDropReason = "unknown_connection_id"
	// PacketDropHeaderParseError is used when a packet is dropped because header parsing failed
	PacketDropHeaderParseError PacketDropReason = "header_parse_error"
	// PacketDropPayloadDecryptError is used when a packet is dropped because decrypting the payload failed
	PacketDropPayloadDecryptError PacketDropReason = "payload_decrypt_error"
	// PacketDropProtocolViolation is used when a packet is dropped due to a protocol violation
	PacketDropProtocolViolation PacketDropReason = "protocol_violation"
	// PacketDropDOSPrevention is used when a packet is dropped to mitigate a DoS attack
	PacketDropDOSPrevention PacketDropReason = "dos_prevention"
	// PacketDropUnsupportedVersion is used when a packet is dropped because the version is not supported
	PacketDropUnsupportedVersion PacketDropReason = "unsupported_version"
	// PacketDropUnexpectedPacket is used when an unexpected packet is received
	PacketDropUnexpectedPacket PacketDropReason = "unexpected_packet"
	// PacketDropUnexpectedSourceConnectionID is used when a packet with an unexpected source connection ID is received
	PacketDropUnexpectedSourceConnectionID PacketDropReason = "unexpected_source_connection_id"
	// PacketDropUnexpectedVersion is used when a packet with an unexpected version is received
	PacketDropUnexpectedVersion PacketDropReason = "unexpected_version"
	// PacketDropDuplicate is used when a duplicate packet is received
	PacketDropDuplicate PacketDropReason = "duplicate"
)

type PacketDropped added in v0.56.0

type PacketDropped struct {
	Header     PacketHeader
	Raw        RawInfo
	DatagramID DatagramID
	Trigger    PacketDropReason
}

PacketDropped is the transport:packet_dropped event.

func (PacketDropped) Encode added in v0.56.0

func (e PacketDropped) Encode(enc *jsontext.Encoder, _ time.Time) error

func (PacketDropped) Name added in v0.56.0

func (e PacketDropped) Name() string

type PacketHeader added in v0.56.0

type PacketHeader struct {
	PacketType       PacketType
	KeyPhaseBit      KeyPhaseBit
	PacketNumber     PacketNumber
	Version          Version
	SrcConnectionID  ConnectionID
	DestConnectionID ConnectionID
	Token            *Token
}

PacketHeader is a QUIC packet header.

type PacketHeaderVersionNegotiation added in v0.56.0

type PacketHeaderVersionNegotiation struct {
	SrcConnectionID  ArbitraryLenConnectionID
	DestConnectionID ArbitraryLenConnectionID
}

type PacketLossReason added in v0.56.0

type PacketLossReason string
const (
	// PacketLossReorderingThreshold is used when a packet is declared lost due to reordering threshold
	PacketLossReorderingThreshold PacketLossReason = "reordering_threshold"
	// PacketLossTimeThreshold is used when a packet is declared lost due to time threshold
	PacketLossTimeThreshold PacketLossReason = "time_threshold"
)

type PacketLost added in v0.56.0

type PacketLost struct {
	Header  PacketHeader
	Trigger PacketLossReason
}

func (PacketLost) Encode added in v0.56.0

func (e PacketLost) Encode(enc *jsontext.Encoder, _ time.Time) error

func (PacketLost) Name added in v0.56.0

func (e PacketLost) Name() string

type PacketNumber added in v0.56.0

type PacketNumber = protocol.PacketNumber

type PacketReceived added in v0.56.0

type PacketReceived struct {
	Header      PacketHeader
	Raw         RawInfo
	DatagramID  DatagramID
	Frames      []Frame
	ECN         ECN
	IsCoalesced bool
	Trigger     string
}

func (PacketReceived) Encode added in v0.56.0

func (e PacketReceived) Encode(enc *jsontext.Encoder, _ time.Time) error

func (PacketReceived) Name added in v0.56.0

func (e PacketReceived) Name() string

type PacketSent added in v0.56.0

type PacketSent struct {
	Header            PacketHeader
	Raw               RawInfo
	DatagramID        DatagramID
	Frames            []Frame
	ECN               ECN
	IsCoalesced       bool
	Trigger           string
	SupportedVersions []Version
}

func (PacketSent) Encode added in v0.56.0

func (e PacketSent) Encode(enc *jsontext.Encoder, _ time.Time) error

func (PacketSent) Name added in v0.56.0

func (e PacketSent) Name() string

type PacketType added in v0.56.0

type PacketType string
const (
	// PacketTypeInitial represents an Initial packet
	PacketTypeInitial PacketType = "initial"
	// PacketTypeHandshake represents a Handshake packet
	PacketTypeHandshake PacketType = "handshake"
	// PacketTypeRetry represents a Retry packet
	PacketTypeRetry PacketType = "retry"
	// PacketType0RTT represents a 0-RTT packet
	PacketType0RTT PacketType = "0RTT"
	// PacketTypeVersionNegotiation represents a Version Negotiation packet
	PacketTypeVersionNegotiation PacketType = "version_negotiation"
	// PacketTypeStatelessReset represents a Stateless Reset packet
	PacketTypeStatelessReset PacketType = "stateless_reset"
	// PacketType1RTT represents a 1-RTT packet
	PacketType1RTT PacketType = "1RTT"
)

func EncryptionLevelToPacketType added in v0.56.0

func EncryptionLevelToPacketType(l EncryptionLevel) PacketType

type ParametersSet added in v0.56.0

type ParametersSet struct {
	Restore                         bool
	Initiator                       Initiator
	SentBy                          protocol.Perspective
	OriginalDestinationConnectionID protocol.ConnectionID
	InitialSourceConnectionID       protocol.ConnectionID
	RetrySourceConnectionID         *protocol.ConnectionID
	StatelessResetToken             *protocol.StatelessResetToken
	DisableActiveMigration          bool
	MaxIdleTimeout                  time.Duration
	MaxUDPPayloadSize               protocol.ByteCount
	AckDelayExponent                uint8
	MaxAckDelay                     time.Duration
	ActiveConnectionIDLimit         uint64
	InitialMaxData                  protocol.ByteCount
	InitialMaxStreamDataBidiLocal   protocol.ByteCount
	InitialMaxStreamDataBidiRemote  protocol.ByteCount
	InitialMaxStreamDataUni         protocol.ByteCount
	InitialMaxStreamsBidi           int64
	InitialMaxStreamsUni            int64
	PreferredAddress                *PreferredAddress
	MaxDatagramFrameSize            protocol.ByteCount
	EnableResetStreamAt             bool
}

func (ParametersSet) Encode added in v0.56.0

func (e ParametersSet) Encode(enc *jsontext.Encoder, _ time.Time) error

func (ParametersSet) Name added in v0.56.0

func (e ParametersSet) Name() string

type PathChallengeFrame added in v0.56.0

type PathChallengeFrame = wire.PathChallengeFrame

A PathChallengeFrame is a PATH_CHALLENGE frame.

type PathEndpointInfo added in v0.56.0

type PathEndpointInfo struct {
	IPv4 netip.AddrPort
	IPv6 netip.AddrPort
}

type PathResponseFrame added in v0.56.0

type PathResponseFrame = wire.PathResponseFrame

A PathResponseFrame is a PATH_RESPONSE frame.

type PingFrame added in v0.56.0

type PingFrame = wire.PingFrame

A PingFrame is a PING frame.

type PreferredAddress added in v0.56.0

type PreferredAddress struct {
	IPv4, IPv6          netip.AddrPort
	ConnectionID        protocol.ConnectionID
	StatelessResetToken protocol.StatelessResetToken
}

type RawInfo added in v0.56.0

type RawInfo struct {
	Length        int // full packet length, including header and AEAD authentication tag
	PayloadLength int // length of the packet payload, excluding AEAD tag
}

type ResetStreamFrame added in v0.56.0

type ResetStreamFrame = wire.ResetStreamFrame

A ResetStreamFrame is a RESET_STREAM frame.

type RetireConnectionIDFrame added in v0.56.0

type RetireConnectionIDFrame = wire.RetireConnectionIDFrame

A RetireConnectionIDFrame is a RETIRE_CONNECTION_ID frame.

type SpuriousLoss added in v0.56.0

type SpuriousLoss struct {
	EncryptionLevel  protocol.EncryptionLevel
	PacketNumber     protocol.PacketNumber
	PacketReordering uint64
	TimeReordering   time.Duration
}

func (SpuriousLoss) Encode added in v0.56.0

func (e SpuriousLoss) Encode(enc *jsontext.Encoder, _ time.Time) error

func (SpuriousLoss) Name added in v0.56.0

func (e SpuriousLoss) Name() string

type StartedConnection added in v0.56.0

type StartedConnection struct {
	Local  PathEndpointInfo
	Remote PathEndpointInfo
}

func (StartedConnection) Encode added in v0.56.0

func (e StartedConnection) Encode(enc *jsontext.Encoder, _ time.Time) error

func (StartedConnection) Name added in v0.56.0

func (e StartedConnection) Name() string

type StopSendingFrame added in v0.56.0

type StopSendingFrame = wire.StopSendingFrame

A StopSendingFrame is a STOP_SENDING frame.

type StreamDataBlockedFrame added in v0.56.0

type StreamDataBlockedFrame = wire.StreamDataBlockedFrame

A StreamDataBlockedFrame is a STREAM_DATA_BLOCKED frame.

type StreamFrame added in v0.56.0

type StreamFrame struct {
	StreamID StreamID
	Offset   int64
	Length   int64
	Fin      bool
}

A StreamFrame is a STREAM frame.

type StreamID added in v0.56.0

type StreamID = protocol.StreamID

type StreamsBlockedFrame added in v0.56.0

type StreamsBlockedFrame = wire.StreamsBlockedFrame

A StreamsBlockedFrame is a STREAMS_BLOCKED frame.

type TimerType added in v0.56.0

type TimerType string
const (
	// TimerTypeACK represents an ACK timer
	TimerTypeACK TimerType = "ack"
	// TimerTypePTO represents a PTO (Probe Timeout) timer
	TimerTypePTO TimerType = "pto"
	// TimerTypePathProbe represents a path probe timer
	TimerTypePathProbe TimerType = "path_probe"
)

type Token added in v0.56.0

type Token struct {
	Raw []byte
}

type TransportErrorCode added in v0.56.0

type TransportErrorCode = qerr.TransportErrorCode

type Version added in v0.56.0

type Version = protocol.Version

type VersionInformation added in v0.56.0

type VersionInformation struct {
	ClientVersions, ServerVersions []Version
	ChosenVersion                  Version
}

func (VersionInformation) Encode added in v0.56.0

func (e VersionInformation) Encode(enc *jsontext.Encoder, _ time.Time) error

func (VersionInformation) Name added in v0.56.0

func (e VersionInformation) Name() string

type VersionNegotiationReceived added in v0.56.0

type VersionNegotiationReceived struct {
	Header            PacketHeaderVersionNegotiation
	SupportedVersions []Version
}

func (VersionNegotiationReceived) Encode added in v0.56.0

func (VersionNegotiationReceived) Name added in v0.56.0

type VersionNegotiationSent added in v0.56.0

type VersionNegotiationSent struct {
	Header            PacketHeaderVersionNegotiation
	SupportedVersions []Version
}

func (VersionNegotiationSent) Encode added in v0.56.0

func (VersionNegotiationSent) Name added in v0.56.0

func (e VersionNegotiationSent) Name() string

Jump to

Keyboard shortcuts

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