|
|
|
@ -365,7 +365,8 @@ final class MqttClientImpl implements MqttClient { |
|
|
|
MqttFixedHeader fixedHeader = new MqttFixedHeader(MqttMessageType.PUBLISH, false, qos, retain, 0); |
|
|
|
MqttPublishVariableHeader variableHeader = new MqttPublishVariableHeader(topic, getNewMessageId().messageId()); |
|
|
|
MqttPublishMessage message = new MqttPublishMessage(fixedHeader, variableHeader, payload); |
|
|
|
MqttPendingPublish pendingPublish = new MqttPendingPublish(variableHeader.packetId(), future, payload.retain(), message, qos); |
|
|
|
MqttPendingPublish pendingPublish = new MqttPendingPublish(variableHeader.packetId(), future, |
|
|
|
payload.retain(), message, qos, () -> !pendingPublishes.containsKey(variableHeader.packetId())); |
|
|
|
this.pendingPublishes.put(pendingPublish.getMessageId(), pendingPublish); |
|
|
|
ChannelFuture channelFuture = this.sendAndFlushPacket(message); |
|
|
|
|
|
|
|
@ -471,7 +472,8 @@ final class MqttClientImpl implements MqttClient { |
|
|
|
MqttSubscribePayload payload = new MqttSubscribePayload(Collections.singletonList(subscription)); |
|
|
|
MqttSubscribeMessage message = new MqttSubscribeMessage(fixedHeader, variableHeader, payload); |
|
|
|
|
|
|
|
final MqttPendingSubscription pendingSubscription = new MqttPendingSubscription(future, topic, message); |
|
|
|
final MqttPendingSubscription pendingSubscription = new MqttPendingSubscription(future, topic, message, |
|
|
|
() -> !pendingSubscriptions.containsKey(variableHeader.messageId())); |
|
|
|
pendingSubscription.addHandler(handler, once); |
|
|
|
this.pendingSubscriptions.put(variableHeader.messageId(), pendingSubscription); |
|
|
|
this.pendingSubscribeTopics.add(topic); |
|
|
|
@ -489,7 +491,8 @@ final class MqttClientImpl implements MqttClient { |
|
|
|
MqttUnsubscribePayload payload = new MqttUnsubscribePayload(Collections.singletonList(topic)); |
|
|
|
MqttUnsubscribeMessage message = new MqttUnsubscribeMessage(fixedHeader, variableHeader, payload); |
|
|
|
|
|
|
|
MqttPendingUnsubscription pendingUnsubscription = new MqttPendingUnsubscription(promise, topic, message); |
|
|
|
MqttPendingUnsubscription pendingUnsubscription = new MqttPendingUnsubscription(promise, topic, message, |
|
|
|
() -> !pendingServerUnsubscribes.containsKey(variableHeader.messageId())); |
|
|
|
this.pendingServerUnsubscribes.put(variableHeader.messageId(), pendingUnsubscription); |
|
|
|
pendingUnsubscription.startRetransmissionTimer(this.eventLoop.next(), this::sendAndFlushPacket); |
|
|
|
|
|
|
|
|