Versions in this module Expand all Collapse all v0 v0.0.1 Jan 3, 2024 Changes in this version + var AdditionalTransportParametersClient map[uint64][]byte + var ErrInvalidReservedBits = errors.New("invalid reserved bits") + var ErrUnsupportedVersion = errors.New("unsupported version") + var MaxDatagramSize protocol.ByteCount = 16383 + func AppendShortHeader(b []byte, connID protocol.ConnectionID, pn protocol.PacketNumber, ...) ([]byte, error) + func ComposeVersionNegotiation(destConnID, srcConnID protocol.ArbitraryLenConnectionID, ...) []byte + func Is0RTTPacket(b []byte) bool + func IsLongHeaderPacket(firstByte byte) bool + func IsPotentialQUICPacket(firstByte byte) bool + func IsVersionNegotiationPacket(b []byte) bool + func LogFrame(logger utils.Logger, frame Frame, sent bool) + func LogShortHeader(logger utils.Logger, dest protocol.ConnectionID, pn protocol.PacketNumber, ...) + func NewFrameParser(supportsDatagrams bool) *frameParser + func ParseArbitraryLenConnectionIDs(data []byte) (bytesParsed int, dest, src protocol.ArbitraryLenConnectionID, _ error) + func ParseConnectionID(data []byte, shortHeaderConnIDLen int) (protocol.ConnectionID, error) + func ParseShortHeader(data []byte, connIDLen int) (length int, _ protocol.PacketNumber, _ protocol.PacketNumberLen, ...) + func ParseVersion(data []byte) (protocol.VersionNumber, error) + func ParseVersionNegotiationPacket(b []byte) (dest, src protocol.ArbitraryLenConnectionID, _ []protocol.VersionNumber, ...) + func ShortHeaderLen(dest protocol.ConnectionID, pnLen protocol.PacketNumberLen) protocol.ByteCount + type AckFrame struct + AckRanges []AckRange + DelayTime time.Duration + ECNCE uint64 + ECT0 uint64 + ECT1 uint64 + func (f *AckFrame) AcksPacket(p protocol.PacketNumber) bool + func (f *AckFrame) Append(b []byte, _ protocol.VersionNumber) ([]byte, error) + func (f *AckFrame) HasMissingRanges() bool + func (f *AckFrame) LargestAcked() protocol.PacketNumber + func (f *AckFrame) Length(_ protocol.VersionNumber) protocol.ByteCount + func (f *AckFrame) LowestAcked() protocol.PacketNumber + func (f *AckFrame) Reset() + type AckRange struct + Largest protocol.PacketNumber + Smallest protocol.PacketNumber + func (r AckRange) Len() protocol.PacketNumber + type ConnectionCloseFrame struct + ErrorCode uint64 + FrameType uint64 + IsApplicationError bool + ReasonPhrase string + func (f *ConnectionCloseFrame) Append(b []byte, _ protocol.VersionNumber) ([]byte, error) + func (f *ConnectionCloseFrame) Length(protocol.VersionNumber) protocol.ByteCount + type CryptoFrame struct + Data []byte + Offset protocol.ByteCount + func (f *CryptoFrame) Append(b []byte, _ protocol.VersionNumber) ([]byte, error) + func (f *CryptoFrame) Length(_ protocol.VersionNumber) protocol.ByteCount + func (f *CryptoFrame) MaxDataLen(maxSize protocol.ByteCount) protocol.ByteCount + func (f *CryptoFrame) MaybeSplitOffFrame(maxSize protocol.ByteCount, version protocol.VersionNumber) (*CryptoFrame, bool) + type DataBlockedFrame struct + MaximumData protocol.ByteCount + func (f *DataBlockedFrame) Append(b []byte, version protocol.VersionNumber) ([]byte, error) + func (f *DataBlockedFrame) Length(version protocol.VersionNumber) protocol.ByteCount + type DatagramFrame struct + Data []byte + DataLenPresent bool + func (f *DatagramFrame) Append(b []byte, _ protocol.VersionNumber) ([]byte, error) + func (f *DatagramFrame) Length(_ protocol.VersionNumber) protocol.ByteCount + func (f *DatagramFrame) MaxDataLen(maxSize protocol.ByteCount, version protocol.VersionNumber) protocol.ByteCount + type ExtendedHeader struct + KeyPhase protocol.KeyPhaseBit + PacketNumber protocol.PacketNumber + PacketNumberLen protocol.PacketNumberLen + func (h *ExtendedHeader) Append(b []byte, v protocol.VersionNumber) ([]byte, error) + func (h *ExtendedHeader) GetLength(_ protocol.VersionNumber) protocol.ByteCount + func (h *ExtendedHeader) Log(logger utils.Logger) + func (h *ExtendedHeader) ParsedLen() protocol.ByteCount + type Frame interface + Append func(b []byte, version protocol.VersionNumber) ([]byte, error) + Length func(version protocol.VersionNumber) protocol.ByteCount + type FrameParser interface + ParseNext func([]byte, protocol.EncryptionLevel, protocol.VersionNumber) (int, Frame, error) + SetAckDelayExponent func(uint8) + type HandshakeDoneFrame struct + func (f *HandshakeDoneFrame) Append(b []byte, _ protocol.VersionNumber) ([]byte, error) + func (f *HandshakeDoneFrame) Length(_ protocol.VersionNumber) protocol.ByteCount + type Header struct + DestConnectionID protocol.ConnectionID + Length protocol.ByteCount + SrcConnectionID protocol.ConnectionID + Token []byte + Type protocol.PacketType + Version protocol.VersionNumber + func ParsePacket(data []byte) (*Header, []byte, []byte, error) + func (h *Header) PacketType() string + func (h *Header) ParseExtended(b *bytes.Reader, ver protocol.VersionNumber) (*ExtendedHeader, error) + func (h *Header) ParsedLen() protocol.ByteCount + type MaxDataFrame struct + MaximumData protocol.ByteCount + func (f *MaxDataFrame) Append(b []byte, _ protocol.VersionNumber) ([]byte, error) + func (f *MaxDataFrame) Length(_ protocol.VersionNumber) protocol.ByteCount + type MaxStreamDataFrame struct + MaximumStreamData protocol.ByteCount + StreamID protocol.StreamID + func (f *MaxStreamDataFrame) Append(b []byte, version protocol.VersionNumber) ([]byte, error) + func (f *MaxStreamDataFrame) Length(version protocol.VersionNumber) protocol.ByteCount + type MaxStreamsFrame struct + MaxStreamNum protocol.StreamNum + Type protocol.StreamType + func (f *MaxStreamsFrame) Append(b []byte, _ protocol.VersionNumber) ([]byte, error) + func (f *MaxStreamsFrame) Length(protocol.VersionNumber) protocol.ByteCount + type NewConnectionIDFrame struct + ConnectionID protocol.ConnectionID + RetirePriorTo uint64 + SequenceNumber uint64 + StatelessResetToken protocol.StatelessResetToken + func (f *NewConnectionIDFrame) Append(b []byte, _ protocol.VersionNumber) ([]byte, error) + func (f *NewConnectionIDFrame) Length(protocol.VersionNumber) protocol.ByteCount + type NewTokenFrame struct + Token []byte + func (f *NewTokenFrame) Append(b []byte, _ protocol.VersionNumber) ([]byte, error) + func (f *NewTokenFrame) Length(protocol.VersionNumber) protocol.ByteCount + type PathChallengeFrame struct + Data [8]byte + func (f *PathChallengeFrame) Append(b []byte, _ protocol.VersionNumber) ([]byte, error) + func (f *PathChallengeFrame) Length(_ protocol.VersionNumber) protocol.ByteCount + type PathResponseFrame struct + Data [8]byte + func (f *PathResponseFrame) Append(b []byte, _ protocol.VersionNumber) ([]byte, error) + func (f *PathResponseFrame) Length(_ protocol.VersionNumber) protocol.ByteCount + type PingFrame struct + func (f *PingFrame) Append(b []byte, _ protocol.VersionNumber) ([]byte, error) + func (f *PingFrame) Length(_ protocol.VersionNumber) protocol.ByteCount + type PreferredAddress struct + ConnectionID protocol.ConnectionID + IPv4 netip.AddrPort + IPv6 netip.AddrPort + StatelessResetToken protocol.StatelessResetToken + type ResetStreamFrame struct + ErrorCode qerr.StreamErrorCode + FinalSize protocol.ByteCount + StreamID protocol.StreamID + func (f *ResetStreamFrame) Append(b []byte, _ protocol.VersionNumber) ([]byte, error) + func (f *ResetStreamFrame) Length(version protocol.VersionNumber) protocol.ByteCount + type RetireConnectionIDFrame struct + SequenceNumber uint64 + func (f *RetireConnectionIDFrame) Append(b []byte, _ protocol.VersionNumber) ([]byte, error) + func (f *RetireConnectionIDFrame) Length(protocol.VersionNumber) protocol.ByteCount + type StopSendingFrame struct + ErrorCode qerr.StreamErrorCode + StreamID protocol.StreamID + func (f *StopSendingFrame) Append(b []byte, _ protocol.VersionNumber) ([]byte, error) + func (f *StopSendingFrame) Length(_ protocol.VersionNumber) protocol.ByteCount + type StreamDataBlockedFrame struct + MaximumStreamData protocol.ByteCount + StreamID protocol.StreamID + func (f *StreamDataBlockedFrame) Append(b []byte, _ protocol.VersionNumber) ([]byte, error) + func (f *StreamDataBlockedFrame) Length(version protocol.VersionNumber) protocol.ByteCount + type StreamFrame struct + Data []byte + DataLenPresent bool + Fin bool + Offset protocol.ByteCount + StreamID protocol.StreamID + func GetStreamFrame() *StreamFrame + func (f *StreamFrame) Append(b []byte, _ protocol.VersionNumber) ([]byte, error) + func (f *StreamFrame) DataLen() protocol.ByteCount + func (f *StreamFrame) Length(version protocol.VersionNumber) protocol.ByteCount + func (f *StreamFrame) MaxDataLen(maxSize protocol.ByteCount, version protocol.VersionNumber) protocol.ByteCount + func (f *StreamFrame) MaybeSplitOffFrame(maxSize protocol.ByteCount, version protocol.VersionNumber) (*StreamFrame, bool) + func (f *StreamFrame) PutBack() + type StreamsBlockedFrame struct + StreamLimit protocol.StreamNum + Type protocol.StreamType + func (f *StreamsBlockedFrame) Append(b []byte, _ protocol.VersionNumber) ([]byte, error) + func (f *StreamsBlockedFrame) Length(_ protocol.VersionNumber) protocol.ByteCount + type TransportParameters struct + AckDelayExponent uint8 + ActiveConnectionIDLimit uint64 + DisableActiveMigration bool + InitialMaxData protocol.ByteCount + InitialMaxStreamDataBidiLocal protocol.ByteCount + InitialMaxStreamDataBidiRemote protocol.ByteCount + InitialMaxStreamDataUni protocol.ByteCount + InitialSourceConnectionID protocol.ConnectionID + MaxAckDelay time.Duration + MaxBidiStreamNum protocol.StreamNum + MaxDatagramFrameSize protocol.ByteCount + MaxIdleTimeout time.Duration + MaxUDPPayloadSize protocol.ByteCount + MaxUniStreamNum protocol.StreamNum + OriginalDestinationConnectionID protocol.ConnectionID + PreferredAddress *PreferredAddress + RetrySourceConnectionID *protocol.ConnectionID + StatelessResetToken *protocol.StatelessResetToken + func (p *TransportParameters) Marshal(pers protocol.Perspective) []byte + func (p *TransportParameters) MarshalForSessionTicket(b []byte) []byte + func (p *TransportParameters) String() string + func (p *TransportParameters) Unmarshal(data []byte, sentBy protocol.Perspective) error + func (p *TransportParameters) UnmarshalFromSessionTicket(r *bytes.Reader) error + func (p *TransportParameters) ValidFor0RTT(saved *TransportParameters) bool + func (p *TransportParameters) ValidForUpdate(saved *TransportParameters) bool