2022-07-21 18:50:10 +02:00
|
|
|
package ackhandler
|
|
|
|
|
|
|
|
import (
|
2023-02-02 12:42:11 +01:00
|
|
|
"github.com/quic-go/quic-go/internal/protocol"
|
|
|
|
"github.com/quic-go/quic-go/internal/utils"
|
|
|
|
"github.com/quic-go/quic-go/logging"
|
2022-07-21 18:50:10 +02:00
|
|
|
)
|
|
|
|
|
2022-08-30 20:45:06 +02:00
|
|
|
// NewAckHandler creates a new SentPacketHandler and a new ReceivedPacketHandler.
|
|
|
|
// clientAddressValidated indicates whether the address was validated beforehand by an address validation token.
|
|
|
|
// clientAddressValidated has no effect for a client.
|
2022-07-21 18:50:10 +02:00
|
|
|
func NewAckHandler(
|
|
|
|
initialPacketNumber protocol.PacketNumber,
|
|
|
|
initialMaxDatagramSize protocol.ByteCount,
|
|
|
|
rttStats *utils.RTTStats,
|
2022-08-30 20:45:06 +02:00
|
|
|
clientAddressValidated bool,
|
2023-10-12 15:53:53 +02:00
|
|
|
enableECN bool,
|
2022-07-21 18:50:10 +02:00
|
|
|
pers protocol.Perspective,
|
2023-10-12 15:53:53 +02:00
|
|
|
tracer *logging.ConnectionTracer,
|
2022-07-21 18:50:10 +02:00
|
|
|
logger utils.Logger,
|
|
|
|
) (SentPacketHandler, ReceivedPacketHandler) {
|
2023-10-12 15:53:53 +02:00
|
|
|
sph := newSentPacketHandler(initialPacketNumber, initialMaxDatagramSize, rttStats, clientAddressValidated, enableECN, pers, tracer, logger)
|
2024-03-26 19:56:06 +01:00
|
|
|
return sph, newReceivedPacketHandler(sph, logger)
|
2022-07-21 18:50:10 +02:00
|
|
|
}
|