forked from quic-go/quic-go
rename IncomingPacketAckHandler to ReceivedPacketHandler
This commit is contained in:
@@ -13,8 +13,8 @@ type SentPacketHandler interface {
|
||||
DequeuePacketForRetransmission() (packet *Packet)
|
||||
}
|
||||
|
||||
// IncomingPacketAckHandler handles ACKs needed to send for incoming packets
|
||||
type IncomingPacketAckHandler interface {
|
||||
// ReceivedPacketHandler handles ACKs needed to send for incoming packets
|
||||
type ReceivedPacketHandler interface {
|
||||
ReceivedPacket(packetNumber protocol.PacketNumber, entropyBit bool) error
|
||||
ReceivedStopWaiting(*frames.StopWaitingFrame) error
|
||||
|
||||
|
||||
@@ -7,24 +7,23 @@ import (
|
||||
"github.com/lucas-clemente/quic-go/protocol"
|
||||
)
|
||||
|
||||
var ErrDuplicatePacket = errors.New("Duplicate Packet")
|
||||
var ErrDuplicatePacket = errors.New("ReceivedPacketHandler: Duplicate Packet")
|
||||
|
||||
// The AckHandler handles ACKs
|
||||
type incomingPacketAckHandler struct {
|
||||
type receivedPacketHandler struct {
|
||||
highestInOrderObserved protocol.PacketNumber
|
||||
highestInOrderObservedEntropy EntropyAccumulator
|
||||
largestObserved protocol.PacketNumber
|
||||
packetHistory map[protocol.PacketNumber]bool // the bool is the EntropyBit of the packet
|
||||
}
|
||||
|
||||
// NewIncomingPacketAckHandler creates a new outgoingPacketAckHandler
|
||||
func NewIncomingPacketAckHandler() IncomingPacketAckHandler {
|
||||
return &incomingPacketAckHandler{
|
||||
// NewReceivedPacketHandler creates a new receivedPacketHandler
|
||||
func NewReceivedPacketHandler() ReceivedPacketHandler {
|
||||
return &receivedPacketHandler{
|
||||
packetHistory: make(map[protocol.PacketNumber]bool),
|
||||
}
|
||||
}
|
||||
|
||||
func (h *incomingPacketAckHandler) ReceivedPacket(packetNumber protocol.PacketNumber, entropyBit bool) error {
|
||||
func (h *receivedPacketHandler) ReceivedPacket(packetNumber protocol.PacketNumber, entropyBit bool) error {
|
||||
if packetNumber == 0 {
|
||||
return errors.New("Invalid packet number")
|
||||
}
|
||||
@@ -45,7 +44,7 @@ func (h *incomingPacketAckHandler) ReceivedPacket(packetNumber protocol.PacketNu
|
||||
return nil
|
||||
}
|
||||
|
||||
func (h *incomingPacketAckHandler) ReceivedStopWaiting(f *frames.StopWaitingFrame) error {
|
||||
func (h *receivedPacketHandler) ReceivedStopWaiting(f *frames.StopWaitingFrame) error {
|
||||
// Ignore if STOP_WAITING is unneeded
|
||||
if h.highestInOrderObserved >= f.LeastUnacked {
|
||||
return nil
|
||||
@@ -58,7 +57,7 @@ func (h *incomingPacketAckHandler) ReceivedStopWaiting(f *frames.StopWaitingFram
|
||||
}
|
||||
|
||||
// getNackRanges gets all the NACK ranges
|
||||
func (h *incomingPacketAckHandler) getNackRanges() ([]frames.NackRange, EntropyAccumulator) {
|
||||
func (h *receivedPacketHandler) getNackRanges() ([]frames.NackRange, EntropyAccumulator) {
|
||||
// ToDo: use a better data structure here
|
||||
var ranges []frames.NackRange
|
||||
inRange := false
|
||||
@@ -84,7 +83,7 @@ func (h *incomingPacketAckHandler) getNackRanges() ([]frames.NackRange, EntropyA
|
||||
return ranges, entropy
|
||||
}
|
||||
|
||||
func (h *incomingPacketAckHandler) DequeueAckFrame() *frames.AckFrame {
|
||||
func (h *receivedPacketHandler) DequeueAckFrame() *frames.AckFrame {
|
||||
nackRanges, entropy := h.getNackRanges()
|
||||
return &frames.AckFrame{
|
||||
LargestObserved: h.largestObserved,
|
||||
@@ -8,14 +8,14 @@ import (
|
||||
. "github.com/onsi/gomega"
|
||||
)
|
||||
|
||||
var _ = Describe("incomingPacketAckHandler", func() {
|
||||
var _ = Describe("receivedPacketHandler", func() {
|
||||
var (
|
||||
handler *incomingPacketAckHandler
|
||||
handler *receivedPacketHandler
|
||||
expectedEntropy EntropyAccumulator
|
||||
)
|
||||
|
||||
BeforeEach(func() {
|
||||
handler = NewIncomingPacketAckHandler().(*incomingPacketAckHandler)
|
||||
handler = NewReceivedPacketHandler().(*receivedPacketHandler)
|
||||
expectedEntropy = EntropyAccumulator(0)
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user