Versions in this module Expand all Collapse all v0 v0.8.0 Jun 27, 2018 Changes in this version type Packet + PacketType protocol.PacketType + SendTime time.Time + type SendMode uint8 + const SendAck + const SendAny + const SendNone + const SendRTO + const SendRetransmission + const SendTLP + func (s SendMode) String() string type SentPacketHandler + GetPacketNumberLen func(protocol.PacketNumber) protocol.PacketNumberLen + SendMode func() SendMode + SentPacketsAsRetransmission func(packets []*Packet, retransmissionOf protocol.PacketNumber) v0.7.0 Feb 3, 2018 Changes in this version + var ErrDuplicateOrOutOfOrderAck = errors.New("SentPacketHandler: Duplicate or out-of-order ACK") + func HasRetransmittableFrames(fs []wire.Frame) bool + func IsFrameRetransmittable(f wire.Frame) bool + type Packet struct + EncryptionLevel protocol.EncryptionLevel + Frames []wire.Frame + Length protocol.ByteCount + PacketNumber protocol.PacketNumber + func (p *Packet) GetFramesForRetransmission() []wire.Frame + type PacketElement struct + Value Packet + func (e *PacketElement) Next() *PacketElement + func (e *PacketElement) Prev() *PacketElement + type PacketList struct + func NewPacketList() *PacketList + func (l *PacketList) Back() *PacketElement + func (l *PacketList) Front() *PacketElement + func (l *PacketList) Init() *PacketList + func (l *PacketList) InsertAfter(v Packet, mark *PacketElement) *PacketElement + func (l *PacketList) InsertBefore(v Packet, mark *PacketElement) *PacketElement + func (l *PacketList) Len() int + func (l *PacketList) MoveAfter(e, mark *PacketElement) + func (l *PacketList) MoveBefore(e, mark *PacketElement) + func (l *PacketList) MoveToBack(e *PacketElement) + func (l *PacketList) MoveToFront(e *PacketElement) + func (l *PacketList) PushBack(v Packet) *PacketElement + func (l *PacketList) PushBackList(other *PacketList) + func (l *PacketList) PushFront(v Packet) *PacketElement + func (l *PacketList) PushFrontList(other *PacketList) + func (l *PacketList) Remove(e *PacketElement) Packet + type ReceivedPacketHandler interface + GetAckFrame func() *wire.AckFrame + GetAlarmTimeout func() time.Time + IgnoreBelow func(protocol.PacketNumber) + ReceivedPacket func(packetNumber protocol.PacketNumber, rcvTime time.Time, shouldInstigateAck bool) error + func NewReceivedPacketHandler(version protocol.VersionNumber) ReceivedPacketHandler + type SentPacketHandler interface + DequeuePacketForRetransmission func() (packet *Packet) + GetAlarmTimeout func() time.Time + GetLeastUnacked func() protocol.PacketNumber + GetLowestPacketNotConfirmedAcked func() protocol.PacketNumber + GetStopWaitingFrame func(force bool) *wire.StopWaitingFrame + OnAlarm func() + ReceivedAck func(ackFrame *wire.AckFrame, withPacketNumber protocol.PacketNumber, ...) error + SendingAllowed func() bool + SentPacket func(packet *Packet) error + SetHandshakeComplete func() + ShouldSendNumPackets func() int + TimeUntilSend func() time.Time + func NewSentPacketHandler(rttStats *congestion.RTTStats) SentPacketHandler