List of usage examples for io.netty.handler.codec.mqtt MqttMessage MqttMessage
public MqttMessage(MqttFixedHeader mqttFixedHeader, Object variableHeader)
From source file:io.crate.mqtt.protocol.MqttMessageFactory.java
static MqttMessage newPubAckMessage(MqttQoS qos, boolean isDup, int packetId) { MqttFixedHeader mqttFixedHeader = new MqttFixedHeader(MqttMessageType.PUBACK, isDup, qos, false, 0); MqttMessageIdVariableHeader variableHeader = MqttMessageIdVariableHeader.from(packetId); return new MqttMessage(mqttFixedHeader, variableHeader); }
From source file:io.moquette.spi.impl.AbstractProtocolProcessorCommonUtils.java
License:Open Source License
protected void publishQoS2ToAs(EmbeddedChannel channel, String clientId, String topic, String payload, int messageId, boolean retained) { NettyUtils.userName(channel, clientId); MqttPublishMessage publish = MqttMessageBuilders.publish().topicName(topic).retained(retained) .messageId(messageId).qos(MqttQoS.EXACTLY_ONCE) .payload(Unpooled.copiedBuffer(payload.getBytes(UTF_8))).build(); this.m_processor.processPublish(channel, publish); verifyPubrecIsReceived(channel, messageId); MqttFixedHeader mqttFixedHeader = new MqttFixedHeader(MqttMessageType.PUBREL, false, AT_LEAST_ONCE, false, 0);//from w w w .j a va 2 s.c om MqttMessage pubRel = new MqttMessage(mqttFixedHeader, from(messageId)); this.m_processor.processPubRel(channel, pubRel); verifyPubCompIsReceived(channel, messageId); }
From source file:net.anyflow.lannister.message.MessageFactory.java
License:Apache License
public static MqttMessage pubrec(int messageId) { MqttFixedHeader fixedHeader = new MqttFixedHeader(MqttMessageType.PUBREC, false, MqttQoS.AT_MOST_ONCE, false, 2);// w w w. j a v a 2 s.c o m MqttMessageIdVariableHeader variableHeader = MqttMessageIdVariableHeader.from(messageId); return new MqttMessage(fixedHeader, variableHeader); }
From source file:net.anyflow.lannister.message.MessageFactory.java
License:Apache License
public static MqttMessage pubrel(int messageId) { MqttFixedHeader fixedHeader = new MqttFixedHeader(MqttMessageType.PUBREL, false, MqttQoS.AT_LEAST_ONCE, false, 2);/*from w ww .j a v a2 s . c o m*/ MqttMessageIdVariableHeader variableHeader = MqttMessageIdVariableHeader.from(messageId); return new MqttMessage(fixedHeader, variableHeader); }
From source file:net.anyflow.lannister.message.MessageFactory.java
License:Apache License
public static MqttMessage pubcomp(int messageId) { MqttFixedHeader fixedHeader = new MqttFixedHeader(MqttMessageType.PUBCOMP, false, MqttQoS.AT_MOST_ONCE, false, 2);/*w w w . ja va 2 s .c o m*/ MqttMessageIdVariableHeader variableHeader = MqttMessageIdVariableHeader.from(messageId); return new MqttMessage(fixedHeader, variableHeader); }
From source file:org.thingsboard.mqtt.MqttChannelHandler.java
License:Apache License
private void handlePublish(Channel channel, MqttPublishMessage message) { switch (message.fixedHeader().qosLevel()) { case AT_MOST_ONCE: invokeHandlersForIncomingPublish(message); break;/* w w w .ja v a 2 s . c o m*/ case AT_LEAST_ONCE: invokeHandlersForIncomingPublish(message); if (message.variableHeader().messageId() != -1) { MqttFixedHeader fixedHeader = new MqttFixedHeader(MqttMessageType.PUBACK, false, MqttQoS.AT_MOST_ONCE, false, 0); MqttMessageIdVariableHeader variableHeader = MqttMessageIdVariableHeader .from(message.variableHeader().messageId()); channel.writeAndFlush(new MqttPubAckMessage(fixedHeader, variableHeader)); } break; case EXACTLY_ONCE: if (message.variableHeader().messageId() != -1) { MqttFixedHeader fixedHeader = new MqttFixedHeader(MqttMessageType.PUBREC, false, MqttQoS.AT_MOST_ONCE, false, 0); MqttMessageIdVariableHeader variableHeader = MqttMessageIdVariableHeader .from(message.variableHeader().messageId()); MqttMessage pubrecMessage = new MqttMessage(fixedHeader, variableHeader); MqttIncomingQos2Publish incomingQos2Publish = new MqttIncomingQos2Publish(message, pubrecMessage); this.client.getQos2PendingIncomingPublishes().put(message.variableHeader().messageId(), incomingQos2Publish); message.payload().retain(); incomingQos2Publish.startPubrecRetransmitTimer(this.client.getEventLoop().next(), this.client::sendAndFlushPacket); channel.writeAndFlush(pubrecMessage); } break; } }
From source file:org.thingsboard.mqtt.MqttChannelHandler.java
License:Apache License
private void handlePubrec(Channel channel, MqttMessage message) { MqttPendingPublish pendingPublish = this.client.getPendingPublishes() .get(((MqttMessageIdVariableHeader) message.variableHeader()).messageId()); pendingPublish.onPubackReceived();//from w w w. j av a 2 s . c o m MqttFixedHeader fixedHeader = new MqttFixedHeader(MqttMessageType.PUBREL, false, MqttQoS.AT_LEAST_ONCE, false, 0); MqttMessageIdVariableHeader variableHeader = (MqttMessageIdVariableHeader) message.variableHeader(); MqttMessage pubrelMessage = new MqttMessage(fixedHeader, variableHeader); channel.writeAndFlush(pubrelMessage); pendingPublish.setPubrelMessage(pubrelMessage); pendingPublish.startPubrelRetransmissionTimer(this.client.getEventLoop().next(), this.client::sendAndFlushPacket); }
From source file:org.thingsboard.mqtt.MqttChannelHandler.java
License:Apache License
private void handlePubrel(Channel channel, MqttMessage message) { if (this.client.getQos2PendingIncomingPublishes() .containsKey(((MqttMessageIdVariableHeader) message.variableHeader()).messageId())) { MqttIncomingQos2Publish incomingQos2Publish = this.client.getQos2PendingIncomingPublishes() .get(((MqttMessageIdVariableHeader) message.variableHeader()).messageId()); this.invokeHandlersForIncomingPublish(incomingQos2Publish.getIncomingPublish()); incomingQos2Publish.onPubrelReceived(); this.client.getQos2PendingIncomingPublishes() .remove(incomingQos2Publish.getIncomingPublish().variableHeader().messageId()); }//from www .j a v a2 s . co m MqttFixedHeader fixedHeader = new MqttFixedHeader(MqttMessageType.PUBCOMP, false, MqttQoS.AT_MOST_ONCE, false, 0); MqttMessageIdVariableHeader variableHeader = MqttMessageIdVariableHeader .from(((MqttMessageIdVariableHeader) message.variableHeader()).messageId()); channel.writeAndFlush(new MqttMessage(fixedHeader, variableHeader)); }
From source file:org.thingsboard.mqtt.MqttIncomingQos2Publish.java
License:Apache License
void startPubrecRetransmitTimer(EventLoop eventLoop, Consumer<Object> sendPacket) { this.retransmissionHandler.setHandle((fixedHeader, originalMessage) -> sendPacket .accept(new MqttMessage(fixedHeader, originalMessage.variableHeader()))); this.retransmissionHandler.start(eventLoop); }
From source file:org.thingsboard.mqtt.MqttPendingPublish.java
License:Apache License
void startPubrelRetransmissionTimer(EventLoop eventLoop, Consumer<Object> sendPacket) { this.pubrelRetransmissionHandler.setHandle((fixedHeader, originalMessage) -> sendPacket .accept(new MqttMessage(fixedHeader, originalMessage.variableHeader()))); this.pubrelRetransmissionHandler.start(eventLoop); }