1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package io.netty.handler.codec.mqtt;
18
19
20
21
22
23 public final class MqttUnsubAckMessage extends MqttMessage {
24
25 public MqttUnsubAckMessage(MqttFixedHeader mqttFixedHeader,
26 MqttMessageIdAndPropertiesVariableHeader variableHeader,
27 MqttUnsubAckPayload payload) {
28 super(mqttFixedHeader, variableHeader, MqttUnsubAckPayload.withEmptyDefaults(payload));
29 }
30
31 public MqttUnsubAckMessage(MqttFixedHeader mqttFixedHeader,
32 MqttMessageIdVariableHeader variableHeader,
33 MqttUnsubAckPayload payload) {
34 this(mqttFixedHeader, fallbackVariableHeader(variableHeader), payload);
35 }
36 public MqttUnsubAckMessage(MqttFixedHeader mqttFixedHeader,
37 MqttMessageIdVariableHeader variableHeader) {
38 this(mqttFixedHeader, variableHeader, null);
39 }
40
41 private static MqttMessageIdAndPropertiesVariableHeader fallbackVariableHeader(
42 MqttMessageIdVariableHeader variableHeader) {
43 if (variableHeader instanceof MqttMessageIdAndPropertiesVariableHeader) {
44 return (MqttMessageIdAndPropertiesVariableHeader) variableHeader;
45 }
46 return new MqttMessageIdAndPropertiesVariableHeader(variableHeader.messageId(), MqttProperties.NO_PROPERTIES);
47 }
48
49 @Override
50 public MqttMessageIdVariableHeader variableHeader() {
51 return (MqttMessageIdVariableHeader) super.variableHeader();
52 }
53
54 public MqttMessageIdAndPropertiesVariableHeader idAndPropertiesVariableHeader() {
55 return (MqttMessageIdAndPropertiesVariableHeader) super.variableHeader();
56 }
57
58 @Override
59 public MqttUnsubAckPayload payload() {
60 return (MqttUnsubAckPayload) super.payload();
61 }
62 }