当前位置: 首页>>代码示例>>Java>>正文


Java MqttMessageType.PUBREL属性代码示例

本文整理汇总了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));
    }
}
 
开发者ID:12315jack,项目名称:j1st-mqtt,代码行数:45,代码来源:Converter.java

示例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());
    }
}
 
开发者ID:12315jack,项目名称:j1st-mqtt,代码行数:38,代码来源:Converter.java

示例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);
}
 
开发者ID:anyflow,项目名称:lannister,代码行数:7,代码来源:MqttMessageFactory.java

示例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);
}
 
开发者ID:vert-x3,项目名称:vertx-mqtt,代码行数:18,代码来源:MqttClientImpl.java

示例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);
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:7,代码来源:MQTTProtocolHandler.java

示例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;
  }
 
开发者ID:vert-x3,项目名称:vertx-mqtt,代码行数:15,代码来源:MqttEndpointImpl.java


注:本文中的io.netty.handler.codec.mqtt.MqttMessageType.PUBREL属性示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。