Browse Source

max buffers in one read

Darien Raymond 7 years ago
parent
commit
7244dc928e
1 changed files with 3 additions and 2 deletions
  1. 3 2
      transport/internet/quic/conn.go

+ 3 - 2
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()