frames

package
v0.0.0-...-1e9be1c Latest Latest
Warning

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

Go to latest
Published: Jun 9, 2016 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func LogFrame

func LogFrame(frame Frame, sent bool)

LogFrame logs a frame, either sent or received

Types

type AckFrame

type AckFrame struct {
	LargestObserved protocol.PacketNumber
	Entropy         byte
	NackRanges      []NackRange // has to be ordered. The NACK range with the highest FirstPacketNumber goes first, the NACK range with the lowest FirstPacketNumber goes last
	Truncated       bool

	DelayTime          time.Duration
	PacketReceivedTime time.Time // only for received packets. Will not be modified for received ACKs frames
}

An AckFrame in QUIC

func ParseAckFrame

func ParseAckFrame(r *bytes.Reader, version protocol.VersionNumber) (*AckFrame, error)

ParseAckFrame reads an ACK frame

func (*AckFrame) GetHighestInOrderPacketNumber

func (f *AckFrame) GetHighestInOrderPacketNumber() protocol.PacketNumber

GetHighestInOrderPacketNumber gets the highest in order packet number that is confirmed by this ACK

func (*AckFrame) HasNACK

func (f *AckFrame) HasNACK() bool

HasNACK returns if the frame has NACK ranges

func (*AckFrame) MinLength

func (f *AckFrame) MinLength() (protocol.ByteCount, error)

MinLength of a written frame

func (*AckFrame) Write

func (f *AckFrame) Write(b *bytes.Buffer, version protocol.VersionNumber) error

Write writes an ACK frame.

type BlockedFrame

type BlockedFrame struct {
	StreamID protocol.StreamID
}

A BlockedFrame in QUIC

func ParseBlockedFrame

func ParseBlockedFrame(r *bytes.Reader) (*BlockedFrame, error)

ParseBlockedFrame parses a BLOCKED frame

func (*BlockedFrame) MinLength

func (f *BlockedFrame) MinLength() (protocol.ByteCount, error)

MinLength of a written frame

func (*BlockedFrame) Write

func (f *BlockedFrame) Write(b *bytes.Buffer, version protocol.VersionNumber) error

Write writes a BlockedFrame frame

type ConnectionCloseFrame

type ConnectionCloseFrame struct {
	ErrorCode    qerr.ErrorCode
	ReasonPhrase string
}

A ConnectionCloseFrame in QUIC

func ParseConnectionCloseFrame

func ParseConnectionCloseFrame(r *bytes.Reader) (*ConnectionCloseFrame, error)

ParseConnectionCloseFrame reads a CONNECTION_CLOSE frame

func (*ConnectionCloseFrame) MinLength

func (f *ConnectionCloseFrame) MinLength() (protocol.ByteCount, error)

MinLength of a written frame

func (*ConnectionCloseFrame) Write

Write writes an CONNECTION_CLOSE frame.

type Frame

type Frame interface {
	Write(b *bytes.Buffer, version protocol.VersionNumber) error
	MinLength() (protocol.ByteCount, error)
}

A Frame in QUIC

type GoawayFrame

type GoawayFrame struct {
	ErrorCode      qerr.ErrorCode
	LastGoodStream protocol.StreamID
	ReasonPhrase   string
}

A GoawayFrame is a GOAWAY frame

func ParseGoawayFrame

func ParseGoawayFrame(r *bytes.Reader) (*GoawayFrame, error)

ParseGoawayFrame parses a GOAWAY frame

func (*GoawayFrame) MinLength

func (f *GoawayFrame) MinLength() (protocol.ByteCount, error)

MinLength of a written frame

func (*GoawayFrame) Write

func (f *GoawayFrame) Write(b *bytes.Buffer, version protocol.VersionNumber) error

type NackRange

type NackRange struct {
	FirstPacketNumber protocol.PacketNumber
	LastPacketNumber  protocol.PacketNumber
}

NackRange is a NACK range

func (*NackRange) ContainsPacketNumber

func (n *NackRange) ContainsPacketNumber(packetNumber protocol.PacketNumber) bool

ContainsPacketNumber checks if a packetNumber is contained in a NACK range

func (*NackRange) Len

func (n *NackRange) Len() uint64

Len gets the lengths of a NackRange

type PingFrame

type PingFrame struct{}

A PingFrame is a ping frame

func ParsePingFrame

func ParsePingFrame(r *bytes.Reader) (*PingFrame, error)

ParsePingFrame parses a Ping frame

func (*PingFrame) MinLength

func (f *PingFrame) MinLength() (protocol.ByteCount, error)

MinLength of a written frame

func (*PingFrame) Write

func (f *PingFrame) Write(b *bytes.Buffer, version protocol.VersionNumber) error

type RstStreamFrame

type RstStreamFrame struct {
	StreamID   protocol.StreamID
	ByteOffset protocol.ByteCount
	ErrorCode  uint32
}

A RstStreamFrame in QUIC

func ParseRstStreamFrame

func ParseRstStreamFrame(r *bytes.Reader) (*RstStreamFrame, error)

ParseRstStreamFrame parses a RST_STREAM frame

func (*RstStreamFrame) MinLength

func (f *RstStreamFrame) MinLength() (protocol.ByteCount, error)

MinLength of a written frame

func (*RstStreamFrame) Write

func (f *RstStreamFrame) Write(b *bytes.Buffer, version protocol.VersionNumber) error

Write writes a RST_STREAM frame

type StopWaitingFrame

type StopWaitingFrame struct {
	LeastUnacked    protocol.PacketNumber
	Entropy         byte
	PacketNumberLen protocol.PacketNumberLen
	PacketNumber    protocol.PacketNumber
}

A StopWaitingFrame in QUIC

func ParseStopWaitingFrame

func ParseStopWaitingFrame(r *bytes.Reader, packetNumber protocol.PacketNumber, packetNumberLen protocol.PacketNumberLen) (*StopWaitingFrame, error)

ParseStopWaitingFrame parses a StopWaiting frame

func (*StopWaitingFrame) MinLength

func (f *StopWaitingFrame) MinLength() (protocol.ByteCount, error)

MinLength of a written frame

func (*StopWaitingFrame) Write

func (f *StopWaitingFrame) Write(b *bytes.Buffer, version protocol.VersionNumber) error

type StreamFrame

type StreamFrame struct {
	FinBit   bool
	StreamID protocol.StreamID

	Offset         protocol.ByteCount
	Data           []byte
	DataLenPresent bool
	// contains filtered or unexported fields
}

A StreamFrame of QUIC

func ParseStreamFrame

func ParseStreamFrame(r *bytes.Reader) (*StreamFrame, error)

ParseStreamFrame reads a stream frame. The type byte must not have been read yet.

func (*StreamFrame) DataLen

func (f *StreamFrame) DataLen() protocol.ByteCount

DataLen gives the length of data in bytes

func (*StreamFrame) MinLength

func (f *StreamFrame) MinLength() (protocol.ByteCount, error)

MinLength of a written frame

func (*StreamFrame) Write

func (f *StreamFrame) Write(b *bytes.Buffer, version protocol.VersionNumber) error

WriteStreamFrame writes a stream frame.

type WindowUpdateFrame

type WindowUpdateFrame struct {
	StreamID   protocol.StreamID
	ByteOffset protocol.ByteCount
}

A WindowUpdateFrame in QUIC

func ParseWindowUpdateFrame

func ParseWindowUpdateFrame(r *bytes.Reader) (*WindowUpdateFrame, error)

ParseWindowUpdateFrame parses a RST_STREAM frame

func (*WindowUpdateFrame) MinLength

func (f *WindowUpdateFrame) MinLength() (protocol.ByteCount, error)

MinLength of a written frame

func (*WindowUpdateFrame) Write

func (f *WindowUpdateFrame) Write(b *bytes.Buffer, version protocol.VersionNumber) error

Write writes a RST_STREAM frame

Jump to

Keyboard shortcuts

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