mirror of
https://github.com/refraction-networking/uquic.git
synced 2025-04-01 19:27:35 +03:00
24 lines
956 B
Go
24 lines
956 B
Go
package ackhandler
|
|
|
|
import (
|
|
"github.com/refraction-networking/uquic/internal/protocol"
|
|
"github.com/refraction-networking/uquic/internal/utils"
|
|
"github.com/refraction-networking/uquic/logging"
|
|
)
|
|
|
|
// 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.
|
|
func NewAckHandler(
|
|
initialPacketNumber protocol.PacketNumber,
|
|
initialMaxDatagramSize protocol.ByteCount,
|
|
rttStats *utils.RTTStats,
|
|
clientAddressValidated bool,
|
|
enableECN bool,
|
|
pers protocol.Perspective,
|
|
tracer *logging.ConnectionTracer,
|
|
logger utils.Logger,
|
|
) (SentPacketHandler, ReceivedPacketHandler) {
|
|
sph := newSentPacketHandler(initialPacketNumber, initialMaxDatagramSize, rttStats, clientAddressValidated, enableECN, pers, tracer, logger)
|
|
return sph, newReceivedPacketHandler(sph, logger)
|
|
}
|