forked from quic-go/quic-go
Merge pull request #3018 from lucas-clemente/preallocate-payload-frames
preallocate a slice of one frame when packing a packet
This commit is contained in:
@@ -579,7 +579,7 @@ func (p *packetPacker) maybeGetAppDataPacketWithEncLevel(maxPayloadSize protocol
|
||||
}
|
||||
|
||||
func (p *packetPacker) composeNextPacket(maxFrameSize protocol.ByteCount, ackAllowed bool) *payload {
|
||||
payload := &payload{}
|
||||
payload := &payload{frames: make([]ackhandler.Frame, 0, 1)}
|
||||
|
||||
var hasDatagram bool
|
||||
if p.datagramQueue != nil {
|
||||
|
||||
@@ -292,7 +292,8 @@ var _ = Describe("Packet packer", func() {
|
||||
pnManager.EXPECT().PopPacketNumber(protocol.Encryption0RTT).Return(protocol.PacketNumber(0x42))
|
||||
cf := ackhandler.Frame{Frame: &wire.MaxDataFrame{MaximumData: 0x1337}}
|
||||
framer.EXPECT().HasData().Return(true)
|
||||
framer.EXPECT().AppendControlFrames(nil, gomock.Any()).DoAndReturn(func(frames []ackhandler.Frame, _ protocol.ByteCount) ([]ackhandler.Frame, protocol.ByteCount) {
|
||||
framer.EXPECT().AppendControlFrames(gomock.Any(), gomock.Any()).DoAndReturn(func(frames []ackhandler.Frame, _ protocol.ByteCount) ([]ackhandler.Frame, protocol.ByteCount) {
|
||||
Expect(frames).To(BeEmpty())
|
||||
return append(frames, cf), cf.Length(packer.version)
|
||||
})
|
||||
// TODO: check sizes
|
||||
|
||||
Reference in New Issue
Block a user