From 3bc046e5d4ed8cc28cd2fd7aa1954d2bbfd3d526 Mon Sep 17 00:00:00 2001 From: Vasiliy Tolstov Date: Wed, 29 Sep 2021 13:10:11 +0300 Subject: [PATCH] broker/memory: simplify code Signed-off-by: Vasiliy Tolstov --- broker/memory.go | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/broker/memory.go b/broker/memory.go index d44073fb..5b9f4c6c 100644 --- a/broker/memory.go +++ b/broker/memory.go @@ -172,13 +172,18 @@ func (m *memoryBroker) publish(ctx context.Context, vs []msgWrapper, opts ...Pub } for _, sub := range subs { + if sub.opts.BatchErrorHandler != nil { + beh = sub.opts.BatchErrorHandler + } + if sub.opts.ErrorHandler != nil { + eh = sub.opts.ErrorHandler + } + + switch { // batch processing - if sub.batchhandler != nil { + case sub.batchhandler != nil: if err = sub.batchhandler(ms); err != nil { ms.SetError(err) - if sub.opts.BatchErrorHandler != nil { - beh = sub.opts.BatchErrorHandler - } if beh != nil { _ = beh(ms) } else if m.opts.Logger.V(logger.ErrorLevel) { @@ -189,15 +194,11 @@ func (m *memoryBroker) publish(ctx context.Context, vs []msgWrapper, opts ...Pub m.opts.Logger.Errorf(m.opts.Context, "ack failed: %v", err) } } - } - // single processing - if sub.handler != nil { + // single processing + case sub.handler != nil: for _, p := range ms { if err = sub.handler(p); err != nil { p.SetError(err) - if sub.opts.ErrorHandler != nil { - eh = sub.opts.ErrorHandler - } if eh != nil { _ = eh(p) } else if m.opts.Logger.V(logger.ErrorLevel) {