本文整理汇总了Java中io.netty.handler.codec.mqtt.MqttMessageType.PUBREL属性的典型用法代码示例。如果您正苦于以下问题:Java MqttMessageType.PUBREL属性的具体用法?Java MqttMessageType.PUBREL怎么用?Java MqttMessageType.PUBREL使用的例子?那么恭喜您, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在类io.netty.handler.codec.mqtt.MqttMessageType
的用法示例。
在下文中一共展示了MqttMessageType.PUBREL属性的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: mapToInternal
/**
* Convert Map to InternalMessage
*
* @param map Map
* @return InternalMessage
*/
public static InternalMessage mapToInternal(Map<String, String> map) {
if (map == null || map.isEmpty()) return null;
int type = Integer.parseInt(map.get("type"));
if (type == MqttMessageType.PUBLISH.value()) {
byte[] payload = null;
if (map.get("payload") != null) try {
payload = map.get("payload").getBytes("ISO-8859-1");
} catch (UnsupportedEncodingException ignore) {
}
return new InternalMessage<>(
MqttMessageType.PUBLISH,
BooleanUtils.toBoolean(map.getOrDefault("dup", "0"), "1", "0"),
MqttQoS.valueOf(Integer.parseInt(map.getOrDefault("qos", "0"))),
BooleanUtils.toBoolean(map.getOrDefault("retain", "0"), "1", "0"),
MqttVersion.valueOf(map.getOrDefault("version", MqttVersion.MQTT_3_1_1.toString())),
map.get("clientId"),
map.get("userName"),
null,
new Publish(
map.get("topicName"),
Integer.parseInt(map.getOrDefault("packetId", "0")),
payload
));
} else if (type == MqttMessageType.PUBREL.value()) {
return new InternalMessage<>(
MqttMessageType.PUBREL,
false,
MqttQoS.AT_LEAST_ONCE,
false,
MqttVersion.valueOf(map.getOrDefault("version", MqttVersion.MQTT_3_1_1.toString())),
map.get("clientId"),
map.get("userName"),
null,
new PacketId(Integer.parseInt(map.getOrDefault("packetId", "0"))));
} else {
throw new IllegalArgumentException("Invalid in-flight MQTT message type: " + MqttMessageType.valueOf(type));
}
}
示例2: internalToMap
/**
* Convert InternalMessage to Map
*
* @param msg InternalMessage
* @return Map
*/
public static Map<String, String> internalToMap(InternalMessage msg) {
Map<String, String> map = new HashMap<>();
if (msg == null) return map;
if (msg.getMessageType() == MqttMessageType.PUBLISH) {
Publish publish = (Publish) msg.getPayload();
map.put("type", String.valueOf(MqttMessageType.PUBLISH.value()));
map.put("retain", BooleanUtils.toString(msg.isRetain(), "1", "0"));
map.put("qos", String.valueOf(msg.getQos().value()));
map.put("dup", BooleanUtils.toString(msg.isDup(), "1", "0"));
map.put("version", msg.getVersion().toString());
if (!msg.isRetain()) map.put("clientId", msg.getClientId());
map.put("userName", msg.getUserName());
map.put("topicName", publish.getTopicName());
if (!msg.isRetain()) map.put("packetId", String.valueOf(publish.getPacketId()));
if (publish.getPayload() != null && publish.getPayload().length > 0) try {
map.put("payload", new String(publish.getPayload(), "ISO-8859-1"));
} catch (UnsupportedEncodingException ignore) {
}
return map;
} else if (msg.getMessageType() == MqttMessageType.PUBREL) {
PacketId packetId = (PacketId) msg.getPayload();
map.put("type", String.valueOf(MqttMessageType.PUBREL.value()));
map.put("version", msg.getVersion().toString());
map.put("clientId", msg.getClientId());
map.put("userName", msg.getUserName());
map.put("packetId", String.valueOf(packetId.getPacketId()));
return map;
} else {
throw new IllegalArgumentException("Invalid in-flight MQTT message type: " + msg.getMessageType());
}
}
示例3: pubrel
public static MqttMessage pubrel(int messageId) {
MqttFixedHeader fixedHeader = new MqttFixedHeader(MqttMessageType.PUBREL, false, MqttQoS.AT_LEAST_ONCE, false,
2);
MqttMessageIdVariableHeader variableHeader = MqttMessageIdVariableHeader.from(messageId);
return new MqttMessage(fixedHeader, variableHeader);
}
示例4: publishRelease
/**
* Sends the PUBREL message to server
*
* @param publishMessageId identifier of the PUBLISH message to acknowledge
*/
void publishRelease(int publishMessageId) {
MqttFixedHeader fixedHeader =
new MqttFixedHeader(MqttMessageType.PUBREL, false, MqttQoS.AT_LEAST_ONCE, false, 0);
MqttMessageIdVariableHeader variableHeader =
MqttMessageIdVariableHeader.from(publishMessageId);
io.netty.handler.codec.mqtt.MqttMessage pubrel = MqttMessageFactory.newMessage(fixedHeader, variableHeader, null);
qos2outbound.put(publishMessageId, pubrel);
this.write(pubrel);
}
示例5: sendPublishProtocolControlMessage
void sendPublishProtocolControlMessage(int messageId, MqttMessageType messageType) {
MqttQoS qos = (messageType == MqttMessageType.PUBREL) ? MqttQoS.AT_LEAST_ONCE : MqttQoS.AT_MOST_ONCE;
MqttFixedHeader fixedHeader = new MqttFixedHeader(messageType, false, qos, // Spec requires 01 in header for rel
false, 0);
MqttPubAckMessage rel = new MqttPubAckMessage(fixedHeader, MqttMessageIdVariableHeader.from(messageId));
sendToClient(rel);
}
示例6: publishRelease
public MqttEndpointImpl publishRelease(int publishMessageId) {
this.checkConnected();
MqttFixedHeader fixedHeader =
new MqttFixedHeader(MqttMessageType.PUBREL, false, MqttQoS.AT_LEAST_ONCE, false, 0);
MqttMessageIdVariableHeader variableHeader =
MqttMessageIdVariableHeader.from(publishMessageId);
io.netty.handler.codec.mqtt.MqttMessage pubrel = MqttMessageFactory.newMessage(fixedHeader, variableHeader, null);
this.write(pubrel);
return this;
}