List of usage examples for io.netty.handler.codec.mqtt MqttQoS valueOf
public static MqttQoS valueOf(int value)
From source file:com.caricah.iotracah.server.mqttserver.transform.IOTMqttTransformerImpl.java
License:Apache License
@Override public MqttMessage toServerMessage(IOTMessage internalMessage) { switch (internalMessage.getMessageType()) { case PublishMessage.MESSAGE_TYPE: PublishMessage pubMsg = (PublishMessage) internalMessage; //We generate a publish message. MqttPublishVariableHeader respVariableHeader = new MqttPublishVariableHeader(pubMsg.getTopic(), pubMsg.getMessageId());/*from w ww. j a v a 2 s. c om*/ MqttFixedHeader respFixedHeader = new MqttFixedHeader(MqttMessageType.PUBLISH, pubMsg.getIsDuplicate(), MqttQoS.valueOf(pubMsg.getQos()), pubMsg.getIsRetain(), 0); ByteBuf content = Unpooled.wrappedBuffer((byte[]) pubMsg.getPayload()); return MqttMessageFactory.newMessage(respFixedHeader, respVariableHeader, content); case AcknowledgeMessage.MESSAGE_TYPE: //Generate a PUBACK for qos 1 messages. AcknowledgeMessage ackMsg = (AcknowledgeMessage) internalMessage; MqttFixedHeader ackFixedHeader = new MqttFixedHeader(MqttMessageType.PUBACK, ackMsg.isDup(), MqttQoS.valueOf(ackMsg.getQos()), ackMsg.isRetain(), 0); MqttMessageIdVariableHeader msgIdVariableHeader = MqttMessageIdVariableHeader .from(ackMsg.getMessageId()); return MqttMessageFactory.newMessage(ackFixedHeader, msgIdVariableHeader, null); case PublishReceivedMessage.MESSAGE_TYPE: //We need to generate a PUBREC message to acknowledge reception of message. PublishReceivedMessage pubrec = (PublishReceivedMessage) internalMessage; MqttFixedHeader recFixedHeader = new MqttFixedHeader(MqttMessageType.PUBREC, false, MqttQoS.valueOf(pubrec.getQos()), false, 0); msgIdVariableHeader = MqttMessageIdVariableHeader.from(pubrec.getMessageId()); return MqttMessageFactory.newMessage(recFixedHeader, msgIdVariableHeader, null); case ReleaseMessage.MESSAGE_TYPE: //We need to generate a PUBREL message to release cached message. ReleaseMessage pubrel = (ReleaseMessage) internalMessage; MqttFixedHeader relFixedHeader = new MqttFixedHeader(MqttMessageType.PUBREL, pubrel.isDup(), MqttQoS.valueOf(pubrel.getQos()), false, 0); msgIdVariableHeader = MqttMessageIdVariableHeader.from(pubrel.getMessageId()); return MqttMessageFactory.newMessage(relFixedHeader, msgIdVariableHeader, null); case CompleteMessage.MESSAGE_TYPE: //We need to generate a PUBCOMP message to acknowledge finalization of transmission of qos 2 message. CompleteMessage destroyMessage = (CompleteMessage) internalMessage; MqttFixedHeader compFixedHeader = new MqttFixedHeader(MqttMessageType.PUBCOMP, false, MqttQoS.valueOf(destroyMessage.getQos()), false, 0); msgIdVariableHeader = MqttMessageIdVariableHeader.from(destroyMessage.getMessageId()); return MqttMessageFactory.newMessage(compFixedHeader, msgIdVariableHeader, null); case Ping.MESSAGE_TYPE: Ping ping = (Ping) internalMessage; //We need to generate a PINGRESP message to respond to a PINGREQ. recFixedHeader = new MqttFixedHeader(MqttMessageType.PINGRESP, ping.isDup(), MqttQoS.valueOf(ping.getQos()), ping.isRetain(), 0); return MqttMessageFactory.newMessage(recFixedHeader, null, null); case ConnectAcknowledgeMessage.MESSAGE_TYPE: ConnectAcknowledgeMessage connAck = (ConnectAcknowledgeMessage) internalMessage; MqttFixedHeader connAckFixedHeader = new MqttFixedHeader(MqttMessageType.CONNACK, connAck.isDup(), MqttQoS.valueOf(connAck.getQos()), connAck.isRetain(), 0); MqttConnAckVariableHeader conAckVariableHeader = new MqttConnAckVariableHeader(connAck.getReturnCode()); //Todo: Raise netty codec issue for lack of codec 3.2.2.2 Session Present flag. return MqttMessageFactory.newMessage(connAckFixedHeader, conAckVariableHeader, null); case SubscribeAcknowledgeMessage.MESSAGE_TYPE: SubscribeAcknowledgeMessage subAckMsg = (SubscribeAcknowledgeMessage) internalMessage; MqttSubAckPayload payload = new MqttSubAckPayload(subAckMsg.getGrantedQos()); MqttFixedHeader subAckFixedHeader = new MqttFixedHeader(MqttMessageType.SUBACK, subAckMsg.isDup(), MqttQoS.valueOf(subAckMsg.getQos()), subAckMsg.isRetain(), 0); MqttMessageIdVariableHeader subAckVariableHeader = MqttMessageIdVariableHeader .from(subAckMsg.getMessageId()); return MqttMessageFactory.newMessage(subAckFixedHeader, subAckVariableHeader, payload); case UnSubscribeAcknowledgeMessage.MESSAGE_TYPE: UnSubscribeAcknowledgeMessage unSubAckMsg = (UnSubscribeAcknowledgeMessage) internalMessage; respFixedHeader = new MqttFixedHeader(MqttMessageType.UNSUBACK, unSubAckMsg.isDup(), MqttQoS.valueOf(unSubAckMsg.getQos()), unSubAckMsg.isRetain(), 0); MqttMessageIdVariableHeader variableHeader = MqttMessageIdVariableHeader .from(unSubAckMsg.getMessageId()); return MqttMessageFactory.newMessage(respFixedHeader, variableHeader, null); default: /** * * Internally these are not expected to get here. * In such cases we just return a null * and log this anomaly as a gross error. * * * if(internalMessage instanceof ConnectMessage || * internalMessage instanceof SubscribeMessage || * internalMessage instanceof UnSubscribeMessage || * internalMessage instanceof DisconnectMessage || * internalMessage instanceof WillMessage ){ * } **/ return null; } }
From source file:io.moquette.server.HazelcastListener.java
License:Open Source License
@Override public void onMessage(Message<HazelcastMsg> msg) { try {//from ww w .java 2s.c o m if (!msg.getPublishingMember().equals(server.getHazelcastInstance().getCluster().getLocalMember())) { HazelcastMsg hzMsg = msg.getMessageObject(); LOG.info("{} received from hazelcast for topic {} message: {}", hzMsg.getClientId(), hzMsg.getTopic(), hzMsg.getPayload()); // TODO pass forward this information in somehow publishMessage.setLocal(false); MqttQoS qos = MqttQoS.valueOf(hzMsg.getQos()); MqttFixedHeader fixedHeader = new MqttFixedHeader(MqttMessageType.PUBLISH, false, qos, false, 0); MqttPublishVariableHeader varHeader = new MqttPublishVariableHeader(hzMsg.getTopic(), 0); ByteBuf payload = Unpooled.wrappedBuffer(hzMsg.getPayload()); MqttPublishMessage publishMessage = new MqttPublishMessage(fixedHeader, varHeader, payload); server.internalPublish(publishMessage, hzMsg.getClientId()); } } catch (Exception ex) { LOG.error("error polling hazelcast msg queue", ex); } }
From source file:net.anyflow.lannister.message.Message.java
License:Apache License
@Override public void readPortable(PortableReader reader) throws IOException { id = reader.readInt("id"); topicName = reader.readUTF("topicName"); publisherId = reader.readUTF("publisherId"); message = reader.readByteArray("message"); qos = MqttQoS.valueOf(reader.readInt("qos")); isRetain = reader.readBoolean("isRetain"); }
From source file:net.anyflow.lannister.message.OutboundMessageStatus.java
License:Apache License
@Override public void readPortable(PortableReader reader) throws IOException { super.readPortable(reader); inboundMessageKey = reader.readUTF("inboundMessageKey"); status = Status.valueOf(reader.readByte("status")); qos = MqttQoS.valueOf(reader.readInt("qos")); }
From source file:net.anyflow.lannister.packetreceiver.ConnectReceiver.java
License:Apache License
private Message newWill(String clientId, MqttConnectMessage conn) { if (conn.variableHeader().isWillFlag() == false) { return null; } // [MQTT-3.1.2-12] return new Message(-1, conn.payload().willTopic(), clientId, conn.payload().willMessage().getBytes(), MqttQoS.valueOf(conn.variableHeader().willQos()), conn.variableHeader().isWillRetain()); }
From source file:net.anyflow.lannister.topic.TopicSubscription.java
License:Apache License
@Override public void readPortable(PortableReader reader) throws IOException { topicFilter = reader.readUTF("topicFilter"); qos = MqttQoS.valueOf(reader.readInt("qos")); }
From source file:org.apache.activemq.artemis.core.protocol.mqtt.MQTTProtocolHandler.java
License:Apache License
protected void send(int messageId, String topicName, int qosLevel, boolean isRetain, ByteBuf payload, int deliveryCount) { boolean redelivery = qosLevel == 0 ? false : (deliveryCount > 0); MqttFixedHeader header = new MqttFixedHeader(MqttMessageType.PUBLISH, redelivery, MqttQoS.valueOf(qosLevel), isRetain, 0);/*from w ww . j a v a2 s . co m*/ MqttPublishVariableHeader varHeader = new MqttPublishVariableHeader(topicName, messageId); MqttMessage publish = new MqttPublishMessage(header, varHeader, payload); sendToClient(publish); }
From source file:org.thingsboard.server.transport.mqtt.session.MqttDeviceAwareSessionContext.java
License:Apache License
public MqttQoS getQoSForTopic(String topic) { List<Integer> qosList = mqttQoSMap.entrySet().stream().filter(entry -> entry.getKey().matches(topic)) .map(Map.Entry::getValue).collect(Collectors.toList()); if (!qosList.isEmpty()) { return MqttQoS.valueOf(qosList.get(0)); } else {// w w w. jav a2s.c o m return MqttQoS.AT_LEAST_ONCE; } }