forked from quic-go/quic-go
pass perspective to packetPacker
This commit is contained in:
@@ -18,6 +18,7 @@ type packedPacket struct {
|
||||
|
||||
type packetPacker struct {
|
||||
connectionID protocol.ConnectionID
|
||||
perspective protocol.Perspective
|
||||
version protocol.VersionNumber
|
||||
cryptoSetup handshake.CryptoSetup
|
||||
|
||||
@@ -29,11 +30,12 @@ type packetPacker struct {
|
||||
controlFrames []frames.Frame
|
||||
}
|
||||
|
||||
func newPacketPacker(connectionID protocol.ConnectionID, cryptoSetup handshake.CryptoSetup, connectionParameters handshake.ConnectionParametersManager, streamFramer *streamFramer, version protocol.VersionNumber) *packetPacker {
|
||||
func newPacketPacker(connectionID protocol.ConnectionID, cryptoSetup handshake.CryptoSetup, connectionParameters handshake.ConnectionParametersManager, streamFramer *streamFramer, perspective protocol.Perspective, version protocol.VersionNumber) *packetPacker {
|
||||
return &packetPacker{
|
||||
cryptoSetup: cryptoSetup,
|
||||
connectionID: connectionID,
|
||||
connectionParameters: connectionParameters,
|
||||
perspective: perspective,
|
||||
version: version,
|
||||
streamFramer: streamFramer,
|
||||
packetNumberGenerator: newPacketNumberGenerator(protocol.SkipPacketAveragePeriodLength),
|
||||
@@ -110,7 +112,7 @@ func (p *packetPacker) packPacket(stopWaitingFrame *frames.StopWaitingFrame, lea
|
||||
raw := getPacketBuffer()
|
||||
buffer := bytes.NewBuffer(raw)
|
||||
|
||||
if err = responsePublicHeader.Write(buffer, p.version, protocol.PerspectiveServer); err != nil {
|
||||
if err = responsePublicHeader.Write(buffer, p.version, p.perspective); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
|
||||
@@ -33,6 +33,7 @@ var _ = Describe("Packet packer", func() {
|
||||
connectionParameters: cpm,
|
||||
packetNumberGenerator: newPacketNumberGenerator(protocol.SkipPacketAveragePeriodLength),
|
||||
streamFramer: streamFramer,
|
||||
perspective: protocol.PerspectiveServer,
|
||||
}
|
||||
publicHeaderLen = 1 + 8 + 2 // 1 flag byte, 8 connection ID, 2 packet number
|
||||
packer.version = protocol.Version34
|
||||
|
||||
@@ -108,14 +108,13 @@ func newSession(conn connection, v protocol.VersionNumber, connectionID protocol
|
||||
|
||||
session.setup()
|
||||
cryptoStream, _ := session.GetOrOpenStream(1)
|
||||
|
||||
var err error
|
||||
session.cryptoSetup, err = handshake.NewCryptoSetup(connectionID, conn.RemoteAddr().IP, v, sCfg, cryptoStream, session.connectionParameters, session.aeadChanged)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
session.packer = newPacketPacker(connectionID, session.cryptoSetup, session.connectionParameters, session.streamFramer, session.version)
|
||||
session.packer = newPacketPacker(connectionID, session.cryptoSetup, session.connectionParameters, session.streamFramer, session.perspective, session.version)
|
||||
session.unpacker = &packetUnpacker{aead: session.cryptoSetup, version: session.version}
|
||||
|
||||
return session, err
|
||||
@@ -142,7 +141,7 @@ func newClientSession(conn *net.UDPConn, addr *net.UDPAddr, v protocol.VersionNu
|
||||
return nil, err
|
||||
}
|
||||
|
||||
session.packer = newPacketPacker(connectionID, session.cryptoSetup, session.connectionParameters, session.streamFramer, session.version)
|
||||
session.packer = newPacketPacker(connectionID, session.cryptoSetup, session.connectionParameters, session.streamFramer, session.perspective, session.version)
|
||||
session.unpacker = &packetUnpacker{aead: session.cryptoSetup, version: session.version}
|
||||
|
||||
return session, err
|
||||
|
||||
Reference in New Issue
Block a user