From 91f92d039c086fd6f2de65bb582660c016a99171 Mon Sep 17 00:00:00 2001 From: Henning Baldersheim Date: Mon, 14 Aug 2023 22:08:42 +0200 Subject: Make the control flow more readable. Only check the same condition once. --- .../src/main/java/com/yahoo/messagebus/SourceSession.java | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'messagebus/src/main/java/com/yahoo/messagebus/SourceSession.java') diff --git a/messagebus/src/main/java/com/yahoo/messagebus/SourceSession.java b/messagebus/src/main/java/com/yahoo/messagebus/SourceSession.java index ad06aed43ec..53fd49dcf58 100644 --- a/messagebus/src/main/java/com/yahoo/messagebus/SourceSession.java +++ b/messagebus/src/main/java/com/yahoo/messagebus/SourceSession.java @@ -34,7 +34,7 @@ public final class SourceSession implements ReplyHandler, MessageBus.SendBlocked void dec() { count --; } boolean enough() { return count > 5; } } - private static ThreadLocal sendBlockedRecurseLevel = ThreadLocal.withInitial(Counter::new); + private static final ThreadLocal sendBlockedRecurseLevel = ThreadLocal.withInitial(Counter::new); /** * The default constructor requires values for all final member variables @@ -139,13 +139,15 @@ public final class SourceSession implements ReplyHandler, MessageBus.SendBlocked if (closed) { return new Result(ErrorCode.SEND_QUEUE_CLOSED, "Source session is closed."); } - if (throttlePolicy != null && ! throttlePolicy.canSend(message, pendingCount)) { - return new Result(ErrorCode.SEND_QUEUE_FULL, - "Too much pending data (" + pendingCount + " messages)."); - } - message.pushHandler(replyHandler); if (throttlePolicy != null) { + if (! throttlePolicy.canSend(message, pendingCount)) { + return new Result(ErrorCode.SEND_QUEUE_FULL, + "Too much pending data (" + pendingCount + " messages)."); + } + message.pushHandler(replyHandler); throttlePolicy.processMessage(message); + } else { + message.pushHandler(replyHandler); } ++pendingCount; } -- cgit v1.2.3