Versions in this module Expand all Collapse all v0 v0.19.5 Jan 10, 2021 Changes in this version + var ErrInvalidReservedBits = errors.New("invalid reserved bits") + var ErrUnsupportedVersion = errors.New("unsupported version") + func ComposeVersionNegotiation(destConnID, srcConnID protocol.ConnectionID, versions []protocol.VersionNumber) ([]byte, error) + func IsVersionNegotiationPacket(b []byte) bool + func LogFrame(logger utils.Logger, frame Frame, sent bool) + func ParseConnectionID(data []byte, shortHeaderConnIDLen int) (protocol.ConnectionID, error) + 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) HasMissingRanges() bool + func (f *AckFrame) LargestAcked() protocol.PacketNumber + func (f *AckFrame) Length(version protocol.VersionNumber) protocol.ByteCount + func (f *AckFrame) LowestAcked() protocol.PacketNumber + func (f *AckFrame) Write(b *bytes.Buffer, _ protocol.VersionNumber) error + type AckRange struct + Largest protocol.PacketNumber + Smallest protocol.PacketNumber + func (r AckRange) Len() protocol.PacketNumber + type ConnectionCloseFrame struct + ErrorCode qerr.ErrorCode + FrameType uint64 + IsApplicationError bool + ReasonPhrase string + func (f *ConnectionCloseFrame) Length(version protocol.VersionNumber) protocol.ByteCount + func (f *ConnectionCloseFrame) Write(b *bytes.Buffer, version protocol.VersionNumber) error + type CryptoFrame struct + Data []byte + Offset protocol.ByteCount + 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) + func (f *CryptoFrame) Write(b *bytes.Buffer, _ protocol.VersionNumber) error + type DataBlockedFrame struct + MaximumData protocol.ByteCount + func (f *DataBlockedFrame) Length(version protocol.VersionNumber) protocol.ByteCount + func (f *DataBlockedFrame) Write(b *bytes.Buffer, version protocol.VersionNumber) error + type DatagramFrame struct + Data []byte + DataLenPresent bool + func (f *DatagramFrame) Length(_ protocol.VersionNumber) protocol.ByteCount + func (f *DatagramFrame) MaxDataLen(maxSize protocol.ByteCount, version protocol.VersionNumber) protocol.ByteCount + func (f *DatagramFrame) Write(b *bytes.Buffer, _ protocol.VersionNumber) error + type ExtendedHeader struct + KeyPhase protocol.KeyPhaseBit + PacketNumber protocol.PacketNumber + PacketNumberLen protocol.PacketNumberLen + func (h *ExtendedHeader) GetLength(v protocol.VersionNumber) protocol.ByteCount + func (h *ExtendedHeader) Log(logger utils.Logger) + func (h *ExtendedHeader) ParsedLen() protocol.ByteCount + func (h *ExtendedHeader) Write(b *bytes.Buffer, ver protocol.VersionNumber) error + type Frame interface + Length func(version protocol.VersionNumber) protocol.ByteCount + Write func(b *bytes.Buffer, version protocol.VersionNumber) error + type FrameParser interface + ParseNext func(*bytes.Reader, protocol.EncryptionLevel) (Frame, error) + SetAckDelayExponent func(uint8) + func NewFrameParser(supportsDatagrams bool, v protocol.VersionNumber) FrameParser + type HandshakeDoneFrame struct + func (f *HandshakeDoneFrame) Length(_ protocol.VersionNumber) protocol.ByteCount + func (f *HandshakeDoneFrame) Write(b *bytes.Buffer, _ protocol.VersionNumber) error + type Header struct + DestConnectionID protocol.ConnectionID + IsLongHeader bool + Length protocol.ByteCount + SrcConnectionID protocol.ConnectionID + Token []byte + Type protocol.PacketType + Version protocol.VersionNumber + func ParsePacket(data []byte, shortHeaderConnIDLen int) (*Header, []byte, []byte, error) + func ParseVersionNegotiationPacket(b *bytes.Reader) (*Header, []protocol.VersionNumber, 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) Length(version protocol.VersionNumber) protocol.ByteCount + func (f *MaxDataFrame) Write(b *bytes.Buffer, version protocol.VersionNumber) error + type MaxStreamDataFrame struct + MaximumStreamData protocol.ByteCount + StreamID protocol.StreamID + func (f *MaxStreamDataFrame) Length(version protocol.VersionNumber) protocol.ByteCount + func (f *MaxStreamDataFrame) Write(b *bytes.Buffer, version protocol.VersionNumber) error + type MaxStreamsFrame struct + MaxStreamNum protocol.StreamNum + Type protocol.StreamType + func (f *MaxStreamsFrame) Length(protocol.VersionNumber) protocol.ByteCount + func (f *MaxStreamsFrame) Write(b *bytes.Buffer, _ protocol.VersionNumber) error + type NewConnectionIDFrame struct + ConnectionID protocol.ConnectionID + RetirePriorTo uint64 + SequenceNumber uint64 + StatelessResetToken protocol.StatelessResetToken + func (f *NewConnectionIDFrame) Length(protocol.VersionNumber) protocol.ByteCount + func (f *NewConnectionIDFrame) Write(b *bytes.Buffer, _ protocol.VersionNumber) error + type NewTokenFrame struct + Token []byte + func (f *NewTokenFrame) Length(protocol.VersionNumber) protocol.ByteCount + func (f *NewTokenFrame) Write(b *bytes.Buffer, _ protocol.VersionNumber) error + type PathChallengeFrame struct + Data [8]byte + func (f *PathChallengeFrame) Length(_ protocol.VersionNumber) protocol.ByteCount + func (f *PathChallengeFrame) Write(b *bytes.Buffer, _ protocol.VersionNumber) error + type PathResponseFrame struct + Data [8]byte + func (f *PathResponseFrame) Length(_ protocol.VersionNumber) protocol.ByteCount + func (f *PathResponseFrame) Write(b *bytes.Buffer, _ protocol.VersionNumber) error + type PingFrame struct + func (f *PingFrame) Length(version protocol.VersionNumber) protocol.ByteCount + func (f *PingFrame) Write(b *bytes.Buffer, version protocol.VersionNumber) error + type PreferredAddress struct + ConnectionID protocol.ConnectionID + IPv4 net.IP + IPv4Port uint16 + IPv6 net.IP + IPv6Port uint16 + StatelessResetToken protocol.StatelessResetToken + type ResetStreamFrame struct + ErrorCode protocol.ApplicationErrorCode + FinalSize protocol.ByteCount + StreamID protocol.StreamID + func (f *ResetStreamFrame) Length(version protocol.VersionNumber) protocol.ByteCount + func (f *ResetStreamFrame) Write(b *bytes.Buffer, _ protocol.VersionNumber) error + type RetireConnectionIDFrame struct + SequenceNumber uint64 + func (f *RetireConnectionIDFrame) Length(protocol.VersionNumber) protocol.ByteCount + func (f *RetireConnectionIDFrame) Write(b *bytes.Buffer, _ protocol.VersionNumber) error + type StopSendingFrame struct + ErrorCode protocol.ApplicationErrorCode + StreamID protocol.StreamID + func (f *StopSendingFrame) Length(_ protocol.VersionNumber) protocol.ByteCount + func (f *StopSendingFrame) Write(b *bytes.Buffer, _ protocol.VersionNumber) error + type StreamDataBlockedFrame struct + MaximumStreamData protocol.ByteCount + StreamID protocol.StreamID + func (f *StreamDataBlockedFrame) Length(version protocol.VersionNumber) protocol.ByteCount + func (f *StreamDataBlockedFrame) Write(b *bytes.Buffer, version protocol.VersionNumber) error + type StreamFrame struct + Data []byte + DataLenPresent bool + Fin bool + Offset protocol.ByteCount + StreamID protocol.StreamID + func GetStreamFrame() *StreamFrame + 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() + func (f *StreamFrame) Write(b *bytes.Buffer, version protocol.VersionNumber) error + type StreamsBlockedFrame struct + StreamLimit protocol.StreamNum + Type protocol.StreamType + func (f *StreamsBlockedFrame) Length(_ protocol.VersionNumber) protocol.ByteCount + func (f *StreamsBlockedFrame) Write(b *bytes.Buffer, _ protocol.VersionNumber) error + 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 *bytes.Buffer) + 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(tp *TransportParameters) bool