Added stopping for subscriptions handlers and for unsubscription handlers
This commit is contained in:
parent
e7c4e76851
commit
06f199b936
@ -156,9 +156,11 @@ final class MqttClientImpl implements MqttClient {
|
|||||||
if (callback != null) {
|
if (callback != null) {
|
||||||
callback.connectionLost(e);
|
callback.connectionLost(e);
|
||||||
}
|
}
|
||||||
|
pendingSubscriptions.forEach((id, mqttPendingSubscription) -> mqttPendingSubscription.onChannelClosed());
|
||||||
pendingSubscriptions.clear();
|
pendingSubscriptions.clear();
|
||||||
serverSubscriptions.clear();
|
serverSubscriptions.clear();
|
||||||
subscriptions.clear();
|
subscriptions.clear();
|
||||||
|
pendingServerUnsubscribes.forEach((id, mqttPendingServerUnsubscribes) -> mqttPendingServerUnsubscribes.onChannelClosed());
|
||||||
pendingServerUnsubscribes.clear();
|
pendingServerUnsubscribes.clear();
|
||||||
qos2PendingIncomingPublishes.clear();
|
qos2PendingIncomingPublishes.clear();
|
||||||
pendingPublishes.forEach((id, mqttPendingPublish) -> mqttPendingPublish.onChannelClosed());
|
pendingPublishes.forEach((id, mqttPendingPublish) -> mqttPendingPublish.onChannelClosed());
|
||||||
|
|||||||
@ -24,7 +24,7 @@ import io.netty.util.concurrent.Promise;
|
|||||||
|
|
||||||
import java.util.function.Consumer;
|
import java.util.function.Consumer;
|
||||||
|
|
||||||
final class MqttPendingPublish {
|
final class MqttPendingPublish{
|
||||||
|
|
||||||
private final int messageId;
|
private final int messageId;
|
||||||
private final Promise<Void> future;
|
private final Promise<Void> future;
|
||||||
@ -99,7 +99,7 @@ final class MqttPendingPublish {
|
|||||||
this.pubrelRetransmissionHandler.stop();
|
this.pubrelRetransmissionHandler.stop();
|
||||||
}
|
}
|
||||||
|
|
||||||
void onChannelClosed() {
|
void onChannelClosed(){
|
||||||
this.publishRetransmissionHandler.stop();
|
this.publishRetransmissionHandler.stop();
|
||||||
this.pubrelRetransmissionHandler.stop();
|
this.pubrelRetransmissionHandler.stop();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -23,7 +23,7 @@ import java.util.HashSet;
|
|||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.function.Consumer;
|
import java.util.function.Consumer;
|
||||||
|
|
||||||
final class MqttPendingSubscription {
|
final class MqttPendingSubscription{
|
||||||
|
|
||||||
private final Promise<Void> future;
|
private final Promise<Void> future;
|
||||||
private final String topic;
|
private final String topic;
|
||||||
@ -99,4 +99,8 @@ final class MqttPendingSubscription {
|
|||||||
return once;
|
return once;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void onChannelClosed(){
|
||||||
|
this.retransmissionHandler.stop();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -21,7 +21,7 @@ import io.netty.util.concurrent.Promise;
|
|||||||
|
|
||||||
import java.util.function.Consumer;
|
import java.util.function.Consumer;
|
||||||
|
|
||||||
final class MqttPendingUnsubscription {
|
final class MqttPendingUnsubscription{
|
||||||
|
|
||||||
private final Promise<Void> future;
|
private final Promise<Void> future;
|
||||||
private final String topic;
|
private final String topic;
|
||||||
@ -52,4 +52,8 @@ final class MqttPendingUnsubscription {
|
|||||||
void onUnsubackReceived(){
|
void onUnsubackReceived(){
|
||||||
this.retransmissionHandler.stop();
|
this.retransmissionHandler.stop();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void onChannelClosed(){
|
||||||
|
this.retransmissionHandler.stop();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user