Przeglądaj źródła

pkg/broadcastwriter: reset after 4 KB w/o stream

Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com>
unclejack 10 lat temu
rodzic
commit
153f98bad5
1 zmienionych plików z 5 dodań i 2 usunięć
  1. 5 2
      pkg/broadcastwriter/broadcastwriter.go

+ 5 - 2
pkg/broadcastwriter/broadcastwriter.go

@@ -42,9 +42,12 @@ func (w *BroadcastWriter) Write(p []byte) (n int, err error) {
 				delete(writers, sw)
 				delete(writers, sw)
 			}
 			}
 		}
 		}
-		// exit if there is no more writers
 		if len(w.streams) == 1 {
 		if len(w.streams) == 1 {
-			w.buf.Reset()
+			if w.buf.Len() >= 4096 {
+				w.buf.Reset()
+			} else {
+				w.buf.Write(p)
+			}
 			w.Unlock()
 			w.Unlock()
 			return len(p), nil
 			return len(p), nil
 		}
 		}