From 7244dc928eb6d9afce855187c55e2e98a5a0d6a3 Mon Sep 17 00:00:00 2001 From: Darien Raymond Date: Fri, 30 Nov 2018 14:48:44 +0100 Subject: [PATCH] max buffers in one read --- transport/internet/quic/conn.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/transport/internet/quic/conn.go b/transport/internet/quic/conn.go index 2b730833b..5d0937275 100644 --- a/transport/internet/quic/conn.go +++ b/transport/internet/quic/conn.go @@ -143,7 +143,8 @@ func (c *interConn) Read(b []byte) (int, error) { } func (c *interConn) ReadMultiBuffer() (buf.MultiBuffer, error) { - mb := make(buf.MultiBuffer, 0, 8) + const BufferCount = 16 + mb := make(buf.MultiBuffer, 0, BufferCount) { b := buf.New() if _, err := b.ReadFrom(c.stream); err != nil { @@ -153,7 +154,7 @@ func (c *interConn) ReadMultiBuffer() (buf.MultiBuffer, error) { mb = append(mb, b) } - for c.stream.HasMoreData() { + for len(mb) < BufferCount && c.stream.HasMoreData() { b := buf.New() if _, err := b.ReadFrom(c.stream); err != nil { b.Release()