List of usage examples for io.netty.handler.codec.mqtt MqttMessageType PINGRESP
MqttMessageType PINGRESP
To view the source code for io.netty.handler.codec.mqtt MqttMessageType PINGRESP.
Click Source Link
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());// w w w . ja v a 2s .c o m 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.crate.mqtt.operations.MqttPingIntegrationTest.java
@Test public void testPing() throws Exception { mqttClient.sendMessage(MqttMessages.newPingRequest(MqttQoS.AT_LEAST_ONCE)); MqttMessage response = mqttClient.lastReceivedMessage(); assertThat(response.fixedHeader().messageType(), is(MqttMessageType.PINGRESP)); }
From source file:io.crate.mqtt.protocol.MqttMessageFactory.java
static MqttMessage newPingResponse(MqttQoS qos) { MqttFixedHeader mqttFixedHeader = new MqttFixedHeader(MqttMessageType.PINGRESP, false, qos, false, 0); return new MqttMessage(mqttFixedHeader); }
From source file:io.netty.example.mqtt.heartBeat.MqttHeartBeatBrokerHandler.java
License:Apache License
@Override public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception { MqttMessage mqttMessage = (MqttMessage) msg; System.out.println("Received MQTT message: " + mqttMessage); switch (mqttMessage.fixedHeader().messageType()) { case CONNECT: MqttFixedHeader connackFixedHeader = new MqttFixedHeader(MqttMessageType.CONNACK, false, MqttQoS.AT_MOST_ONCE, false, 0); MqttConnAckVariableHeader mqttConnAckVariableHeader = new MqttConnAckVariableHeader( MqttConnectReturnCode.CONNECTION_ACCEPTED, false); MqttConnAckMessage connack = new MqttConnAckMessage(connackFixedHeader, mqttConnAckVariableHeader); ctx.writeAndFlush(connack);/*w ww . j av a 2 s . c o m*/ break; case PINGREQ: MqttFixedHeader pingreqFixedHeader = new MqttFixedHeader(MqttMessageType.PINGRESP, false, MqttQoS.AT_MOST_ONCE, false, 0); MqttMessage pingResp = new MqttMessage(pingreqFixedHeader); ctx.writeAndFlush(pingResp); break; case DISCONNECT: ctx.close(); break; default: System.out.println("Unexpected message type: " + mqttMessage.fixedHeader().messageType()); ReferenceCountUtil.release(msg); ctx.close(); } }
From source file:io.vertx.mqtt.impl.MqttEndpointImpl.java
License:Apache License
public MqttEndpointImpl pong() { this.checkConnected(); MqttFixedHeader fixedHeader = new MqttFixedHeader(MqttMessageType.PINGRESP, false, MqttQoS.AT_MOST_ONCE, false, 0);/*from ww w . j av a 2 s .c o m*/ io.netty.handler.codec.mqtt.MqttMessage pingresp = MqttMessageFactory.newMessage(fixedHeader, null, null); this.write(pingresp); return this; }
From source file:net.anyflow.lannister.message.MessageFactory.java
License:Apache License
public static MqttMessage pingresp() { MqttFixedHeader fixedHeader = new MqttFixedHeader(MqttMessageType.PINGRESP, false, MqttQoS.AT_MOST_ONCE, false, 0);/*from w w w .j a v a 2s .co m*/ return new MqttMessage(fixedHeader); }
From source file:org.apache.activemq.artemis.core.protocol.mqtt.MQTTProtocolHandler.java
License:Apache License
void handlePingreq() { MqttMessage pingResp = new MqttMessage( new MqttFixedHeader(MqttMessageType.PINGRESP, false, MqttQoS.AT_MOST_ONCE, false, 0)); sendToClient(pingResp);/*from w ww . j a v a 2 s .c o m*/ }
From source file:org.thingsboard.mqtt.MqttPingHandler.java
License:Apache License
@Override public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception { if (!(msg instanceof MqttMessage)) { ctx.fireChannelRead(msg);//w w w .ja va2 s . c om return; } MqttMessage message = (MqttMessage) msg; if (message.fixedHeader().messageType() == MqttMessageType.PINGREQ) { this.handlePingReq(ctx.channel()); } else if (message.fixedHeader().messageType() == MqttMessageType.PINGRESP) { this.handlePingResp(); } else { ctx.fireChannelRead(ReferenceCountUtil.retain(msg)); } }
From source file:org.thingsboard.mqtt.MqttPingHandler.java
License:Apache License
private void handlePingReq(Channel channel) { MqttFixedHeader fixedHeader = new MqttFixedHeader(MqttMessageType.PINGRESP, false, MqttQoS.AT_MOST_ONCE, false, 0);/*from w ww. j a va 2s . co m*/ channel.writeAndFlush(new MqttMessage(fixedHeader)); }