From 87a51cf4c280b2f240fd1e89e42623ed73aa6fdb Mon Sep 17 00:00:00 2001 From: "selva.andre" Date: Mon, 10 Sep 2012 21:56:00 +0200 Subject: [PATCH] Removed the CleanInFlight evente, because the clean is done once the Publish QoS 1 is just published --- .../messaging/spi/impl/SimpleMessaging.java | 14 +++++--------- .../spi/impl/events/CleanInFlightEvent.java | 17 ----------------- 2 files changed, 5 insertions(+), 26 deletions(-) delete mode 100644 parser/src/main/java/org/dna/mqtt/moquette/messaging/spi/impl/events/CleanInFlightEvent.java diff --git a/parser/src/main/java/org/dna/mqtt/moquette/messaging/spi/impl/SimpleMessaging.java b/parser/src/main/java/org/dna/mqtt/moquette/messaging/spi/impl/SimpleMessaging.java index 0f474329..23f50bd7 100644 --- a/parser/src/main/java/org/dna/mqtt/moquette/messaging/spi/impl/SimpleMessaging.java +++ b/parser/src/main/java/org/dna/mqtt/moquette/messaging/spi/impl/SimpleMessaging.java @@ -139,9 +139,6 @@ public class SimpleMessaging implements IMessaging, EventHandler { DisconnectEvent disEvt = (DisconnectEvent) evt; String clientID = (String) disEvt.getSession().getAttribute(Constants.ATTR_CLIENTID); processDisconnect(disEvt.getSession(), clientID); - } else if (evt instanceof CleanInFlightEvent) { - //remove the message from inflight storage - m_storageService.cleanInFlight(((CleanInFlightEvent) evt).getMsgId()); } else if (evt instanceof RepublishEvent) { processRepublish((RepublishEvent) evt); } else if (evt instanceof ProtocolEvent) { @@ -284,13 +281,11 @@ public class SimpleMessaging implements IMessaging, EventHandler { final byte[] message = evt.getMessage(); boolean retain = evt.isRetain(); - CleanInFlightEvent cleanEvt = null; - + String publishKey = null; if (qos == QOSType.LEAST_ONE) { //store the temporary message - String publishKey = String.format("%s%d", evt.getClientID(), evt.getMessageID()); + publishKey = String.format("%s%d", evt.getClientID(), evt.getMessageID()); m_storageService.addInFlight(evt, publishKey); - cleanEvt = new CleanInFlightEvent(publishKey); } for (final Subscription sub : subscriptions.matches(topic)) { @@ -310,8 +305,9 @@ public class SimpleMessaging implements IMessaging, EventHandler { } } - if (cleanEvt != null) { - refill(cleanEvt); + if (qos == QOSType.LEAST_ONE) { + assert publishKey != null; + m_storageService.cleanInFlight(publishKey); sendPubAck(new PubAckEvent(evt.getMessageID(), evt.getClientID())); } diff --git a/parser/src/main/java/org/dna/mqtt/moquette/messaging/spi/impl/events/CleanInFlightEvent.java b/parser/src/main/java/org/dna/mqtt/moquette/messaging/spi/impl/events/CleanInFlightEvent.java deleted file mode 100644 index b56ea194..00000000 --- a/parser/src/main/java/org/dna/mqtt/moquette/messaging/spi/impl/events/CleanInFlightEvent.java +++ /dev/null @@ -1,17 +0,0 @@ -package org.dna.mqtt.moquette.messaging.spi.impl.events; - -/** - * Message to remove the message of type QoS 1 or 2 from in flight store - */ -public class CleanInFlightEvent extends MessagingEvent { - - private String m_msgId; - - public CleanInFlightEvent(String msgId) { - m_msgId = msgId; - } - - public String getMsgId() { - return m_msgId; - } -}