Browse Source

Added stopping for subscriptions handlers and for unsubscription handlers

pull/5509/head
zbeacon 5 years ago
committed by Andrew Shvayka
parent
commit
06f199b936
  1. 2
      netty-mqtt/src/main/java/org/thingsboard/mqtt/MqttClientImpl.java
  2. 4
      netty-mqtt/src/main/java/org/thingsboard/mqtt/MqttPendingPublish.java
  3. 6
      netty-mqtt/src/main/java/org/thingsboard/mqtt/MqttPendingSubscription.java
  4. 6
      netty-mqtt/src/main/java/org/thingsboard/mqtt/MqttPendingUnsubscription.java

2
netty-mqtt/src/main/java/org/thingsboard/mqtt/MqttClientImpl.java

@ -156,9 +156,11 @@ final class MqttClientImpl implements MqttClient {
if (callback != null) {
callback.connectionLost(e);
}
pendingSubscriptions.forEach((id, mqttPendingSubscription) -> mqttPendingSubscription.onChannelClosed());
pendingSubscriptions.clear();
serverSubscriptions.clear();
subscriptions.clear();
pendingServerUnsubscribes.forEach((id, mqttPendingServerUnsubscribes) -> mqttPendingServerUnsubscribes.onChannelClosed());
pendingServerUnsubscribes.clear();
qos2PendingIncomingPublishes.clear();
pendingPublishes.forEach((id, mqttPendingPublish) -> mqttPendingPublish.onChannelClosed());

4
netty-mqtt/src/main/java/org/thingsboard/mqtt/MqttPendingPublish.java

@ -24,7 +24,7 @@ import io.netty.util.concurrent.Promise;
import java.util.function.Consumer;
final class MqttPendingPublish {
final class MqttPendingPublish{
private final int messageId;
private final Promise<Void> future;
@ -99,7 +99,7 @@ final class MqttPendingPublish {
this.pubrelRetransmissionHandler.stop();
}
void onChannelClosed() {
void onChannelClosed(){
this.publishRetransmissionHandler.stop();
this.pubrelRetransmissionHandler.stop();
}

6
netty-mqtt/src/main/java/org/thingsboard/mqtt/MqttPendingSubscription.java

@ -23,7 +23,7 @@ import java.util.HashSet;
import java.util.Set;
import java.util.function.Consumer;
final class MqttPendingSubscription {
final class MqttPendingSubscription{
private final Promise<Void> future;
private final String topic;
@ -99,4 +99,8 @@ final class MqttPendingSubscription {
return once;
}
}
void onChannelClosed(){
this.retransmissionHandler.stop();
}
}

6
netty-mqtt/src/main/java/org/thingsboard/mqtt/MqttPendingUnsubscription.java

@ -21,7 +21,7 @@ import io.netty.util.concurrent.Promise;
import java.util.function.Consumer;
final class MqttPendingUnsubscription {
final class MqttPendingUnsubscription{
private final Promise<Void> future;
private final String topic;
@ -52,4 +52,8 @@ final class MqttPendingUnsubscription {
void onUnsubackReceived(){
this.retransmissionHandler.stop();
}
void onChannelClosed(){
this.retransmissionHandler.stop();
}
}

Loading…
Cancel
Save