properly put back the packet buffer when sending a packet fails

This commit is contained in:
Marten Seemann
2017-07-10 21:11:35 +08:00
parent 1d120f5ea1
commit 4898f4205c

View File

@@ -678,6 +678,7 @@ func (s *session) sendPacket() error {
}
func (s *session) sendPackedPacket(packet *packedPacket) error {
defer putPacketBuffer(packet.raw)
err := s.sentPacketHandler.SentPacket(&ackhandler.Packet{
PacketNumber: packet.number,
Frames: packet.frames,
@@ -687,12 +688,8 @@ func (s *session) sendPackedPacket(packet *packedPacket) error {
if err != nil {
return err
}
s.logPacket(packet)
err = s.conn.Write(packet.raw)
putPacketBuffer(packet.raw)
return err
return s.conn.Write(packet.raw)
}
func (s *session) sendConnectionClose(quicErr *qerr.QuicError) error {