From 2f6a0d539d9e444a79eb2f2aa05137000fdcbdc3 Mon Sep 17 00:00:00 2001 From: Darien Raymond Date: Sat, 1 Sep 2018 21:19:33 +0200 Subject: [PATCH] dont write out empty payload --- common/buf/writer.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/common/buf/writer.go b/common/buf/writer.go index d56750f1..80c15f84 100644 --- a/common/buf/writer.go +++ b/common/buf/writer.go @@ -86,6 +86,10 @@ func (w *BufferedWriter) WriteByte(c byte) error { // Write implements io.Writer. func (w *BufferedWriter) Write(b []byte) (int, error) { + if len(b) == 0 { + return 0, nil + } + w.Lock() defer w.Unlock() @@ -119,6 +123,10 @@ func (w *BufferedWriter) Write(b []byte) (int, error) { // WriteMultiBuffer implements Writer. It takes ownership of the given MultiBuffer. func (w *BufferedWriter) WriteMultiBuffer(b MultiBuffer) error { + if b.IsEmpty() { + return nil + } + w.Lock() defer w.Unlock() @@ -211,6 +219,10 @@ func (w *SequentialWriter) WriteMultiBuffer(mb MultiBuffer) error { defer mb.Release() for _, b := range mb { + if b.IsEmpty() { + continue + } + if err := WriteAllBytes(w.Writer, b.Bytes()); err != nil { return err }