wire

package
v0.0.0-...-6f70bfd Latest Latest
Warning

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

Go to latest
Published: Apr 26, 2022 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DataPacket      = 0x00
	HandshakePacket = 0x80
	RetryPacket     = 0xc0
)
View Source
const MaxPacketNumber = MaxVarint
View Source
const MaxVarint = 1<<62 - 1

Variables

This section is empty.

Functions

func DecodeLengthPrefixedBytes

func DecodeLengthPrefixedBytes(r *Reader) ([]byte, error)

func DecodeVarint

func DecodeVarint(r *Reader) (int64, error)

func EncodeLengthPrefixedBytes

func EncodeLengthPrefixedBytes(w *Writer, p []byte) error

func EncodeVarint

func EncodeVarint(w *Writer, x int64) error

func IsAck

func IsAck(t byte) bool

func IsClose

func IsClose(t byte) bool

func IsMaxStreamData

func IsMaxStreamData(t byte) bool

func IsMsg

func IsMsg(t byte) bool

func IsPing

func IsPing(t byte) bool

func IsStream

func IsStream(t byte) bool

func MsgMaxDataLen

func MsgMaxDataLen(n int, seq int64, dataLen int) (int, bool)

See StreamMaxDataLen.

func StreamMaxDataLen

func StreamMaxDataLen(n int, off int64, dataLen int) (int, bool)

n, off and dataLen must be non-negative.

func VarintLen

func VarintLen(x int64) int

Types

type Ack

type Ack struct {
	// Delay is a time delta since the highest acknowledged packet was
	// received and until this ACK was sent.
	Delay time.Duration

	Ranges PacketNumberRanges
}

func DecodeAck

func DecodeAck(r *Reader, limit int) (Ack, error)

func (Ack) Encode

func (a Ack) Encode(w *Writer) error

type Close

type Close struct{}

func (Close) Encode

func (Close) Encode(w *Writer) error

type ConnID

type ConnID [8]byte

type MaxStreamData

type MaxStreamData int64 // must be between 0 and MaxVarint incl.

func DecodeMaxStreamData

func DecodeMaxStreamData(r *Reader) (MaxStreamData, error)

func (MaxStreamData) Encode

func (off MaxStreamData) Encode(w *Writer) error

type Msg

type Msg struct {
	First bool
	Last  bool
	Seq   int64  // 0 ≤ Seq ≤ MaxVarint
	Data  []byte // must be non-empty
}

func DecodeMsg

func DecodeMsg(r *Reader) (Msg, error)

func (Msg) Encode

func (m Msg) Encode(w *Writer, explicitLen bool) error

type PacketNumber

type PacketNumber int64

type PacketNumberRange

type PacketNumberRange struct{ Min, Max PacketNumber }

func (PacketNumberRange) Contains

func (r PacketNumberRange) Contains(pn PacketNumber) bool

type PacketNumberRanges

type PacketNumberRanges []PacketNumberRange

PacketNumberRanges is a sorted slice of non-adjacent and disjoint packet number ranges.

func (PacketNumberRanges) Contains

func (ranges PacketNumberRanges) Contains(pn PacketNumber) bool

func (PacketNumberRanges) Max

func (ranges PacketNumberRanges) Max() PacketNumber

func (PacketNumberRanges) TrimLesser

func (ranges PacketNumberRanges) TrimLesser(pn PacketNumber) PacketNumberRanges

TrimLesser returns a slice of ranges with ranges lesser than pn removed.

type Ping

type Ping struct{}

func DecodePing

func DecodePing(r *Reader) (Ping, error)

func (Ping) Encode

func (Ping) Encode(w *Writer) error

type Reader

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

func NewReader

func NewReader(buf []byte) *Reader

func (*Reader) Next

func (r *Reader) Next(n int) []byte

func (*Reader) PeekByte

func (r *Reader) PeekByte() byte

func (*Reader) Read

func (r *Reader) Read(p []byte) (int, error)

func (*Reader) ReadByte

func (r *Reader) ReadByte() (byte, error)

func (*Reader) Remaining

func (r *Reader) Remaining() int

type Stream

type Stream struct {
	Off  int64  // 0 ≤ Off ≤ MaxVarint
	Data []byte // must be non-empty
}

func DecodeStream

func DecodeStream(r *Reader) (Stream, error)

func (Stream) Encode

func (s Stream) Encode(w *Writer, explicitLen bool) error

type Writer

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

func NewWriter

func NewWriter(buf []byte) *Writer

func (*Writer) Len

func (w *Writer) Len() int

func (*Writer) Remaining

func (w *Writer) Remaining() int

func (*Writer) Write

func (w *Writer) Write(p []byte) (int, error)

func (*Writer) WriteByte

func (w *Writer) WriteByte(c byte) error

Jump to

Keyboard shortcuts

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