add ACK frames to crypto packets

This commit is contained in:
Marten Seemann
2018-10-29 13:34:32 +07:00
parent 7fe93a726f
commit e470d71c3a
2 changed files with 29 additions and 4 deletions

View File

@@ -343,8 +343,13 @@ func (p *packetPacker) maybePackCryptoPacket() (*packedPacket, error) {
return nil, err
}
var length protocol.ByteCount
frames := make([]wire.Frame, 0, 2)
if ack := p.acks.GetAckFrame(); ack != nil {
frames = append(frames, ack)
length += ack.Length(p.version)
}
cf := s.PopCryptoFrame(p.maxPacketSize - hdrLen - protocol.ByteCount(sealer.Overhead()) - length)
frames := []wire.Frame{cf}
frames = append(frames, cf)
raw, err := p.writeAndSealPacket(hdr, frames, sealer)
if err != nil {
return nil, err