From 3bfec51627a69e1d525e650673561abbd6d1038f Mon Sep 17 00:00:00 2001 From: rafaeleyng Date: Fri, 4 Sep 2020 18:01:00 -0300 Subject: [PATCH] cleanup items slice after flush --- buffer.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/buffer.go b/buffer.go index 614339c..69c45e8 100644 --- a/buffer.go +++ b/buffer.go @@ -64,13 +64,12 @@ func (buffer *Buffer) Close() error { } func (buffer *Buffer) consume() { + count := 0 items := make([]interface{}, buffer.options.Size) + mustFlush := false ticker, stopTicker := newTicker(buffer.options.FlushInterval) - count := 0 isOpen := true - mustFlush := false - for isOpen { select { case item := <-buffer.dataCh: @@ -89,7 +88,9 @@ func (buffer *Buffer) consume() { if mustFlush { stopTicker() buffer.options.Flusher.Write(items[:count]) + count = 0 + items = make([]interface{}, buffer.options.Size) mustFlush = false ticker, stopTicker = newTicker(buffer.options.FlushInterval) }