From b58cd086ea2f17a573ccfd5f762b800eb51ba29e Mon Sep 17 00:00:00 2001 From: andsel Date: Tue, 13 Dec 2016 00:22:53 +0100 Subject: [PATCH] Inverted some ifs to get the semantic of ifs more clear --- .../io/moquette/spi/impl/Qos2Publisher.java | 22 +++++++++---------- 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/broker/src/main/java/io/moquette/spi/impl/Qos2Publisher.java b/broker/src/main/java/io/moquette/spi/impl/Qos2Publisher.java index 52d7907a..3f210641 100644 --- a/broker/src/main/java/io/moquette/spi/impl/Qos2Publisher.java +++ b/broker/src/main/java/io/moquette/spi/impl/Qos2Publisher.java @@ -53,22 +53,20 @@ class Qos2Publisher { LOG.debug("Broker republishing to client <{}> topic <{}> qos <{}>, active {}", sub.getClientId(), sub.getTopicFilter(), qos, targetIsActive); ByteBuffer message = origMessage.duplicate(); - if (qos == AbstractMessage.QOSType.MOST_ONE && targetIsActive) { + if (targetIsActive) { //QoS 0 - publishQos2(targetSession, topic, qos, message, false, null); + if (qos == AbstractMessage.QOSType.MOST_ONE) { + publishQos2(targetSession, topic, qos, message, false, null); + } else { + //QoS 1 or 2 + int messageId = targetSession.nextPacketId(); + targetSession.inFlightAckWaiting(guid, messageId); + publishQos2(targetSession, topic, qos, message, false, messageId); + } } else { - //QoS 1 or 2 - //if the target subscription is not clean session and is not connected => store it - if (!targetSession.isCleanSession() && !targetIsActive) { + if (!targetSession.isCleanSession()) { //store the message in targetSession queue to deliver targetSession.enqueueToDeliver(guid); - } else { - //publish - if (targetIsActive) { - int messageId = targetSession.nextPacketId(); - targetSession.inFlightAckWaiting(guid, messageId); - publishQos2(targetSession, topic, qos, message, false, messageId); - } } } }