use a sync.Pool for ackhandler.Frames (#3656)

This commit is contained in:
Marten Seemann
2023-01-17 23:15:02 -08:00
committed by GitHub
parent b77d8570df
commit 2aa71ff76b
13 changed files with 129 additions and 90 deletions

View File

@@ -215,7 +215,11 @@ func (s *sendStream) popStreamFrame(maxBytes protocol.ByteCount) (*ackhandler.Fr
if f == nil {
return nil, hasMoreData
}
return &ackhandler.Frame{Frame: f, OnLost: s.queueRetransmission, OnAcked: s.frameAcked}, hasMoreData
af := ackhandler.GetFrame()
af.Frame = f
af.OnLost = s.queueRetransmission
af.OnAcked = s.frameAcked
return af, hasMoreData
}
func (s *sendStream) popNewOrRetransmittedStreamFrame(maxBytes protocol.ByteCount) (*wire.StreamFrame, bool /* has more data to send */) {