Example usage for io.netty.handler.codec.mqtt MqttConnAckVariableHeader MqttConnAckVariableHeader

List of usage examples for io.netty.handler.codec.mqtt MqttConnAckVariableHeader MqttConnAckVariableHeader

Introduction

In this page you can find the example usage for io.netty.handler.codec.mqtt MqttConnAckVariableHeader MqttConnAckVariableHeader.

Prototype

public MqttConnAckVariableHeader(MqttConnectReturnCode connectReturnCode, boolean sessionPresent) 

Source Link

Usage

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);//from ww  w .j  av a  2s.c  om
        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

private MqttEndpointImpl connack(MqttConnectReturnCode returnCode, boolean sessionPresent) {

    MqttFixedHeader fixedHeader = new MqttFixedHeader(MqttMessageType.CONNACK, false, MqttQoS.AT_MOST_ONCE,
            false, 0);//from  w w  w.  j av a 2  s. c  om
    MqttConnAckVariableHeader variableHeader = new MqttConnAckVariableHeader(returnCode, sessionPresent);

    io.netty.handler.codec.mqtt.MqttMessage connack = MqttMessageFactory.newMessage(fixedHeader, variableHeader,
            null);

    this.write(connack);

    // if a server sends a CONNACK packet containing a non zero return code it MUST then close the Network Connection (MQTT 3.1.1 spec)
    if (returnCode != MqttConnectReturnCode.CONNECTION_ACCEPTED) {
        this.close();
    } else {
        this.isConnected = true;
    }

    return this;
}

From source file:net.anyflow.lannister.message.MessageFactory.java

License:Apache License

public static MqttConnAckMessage connack(MqttConnectReturnCode returnCode, boolean sessionPresent) {
    MqttFixedHeader fixedHeader = new MqttFixedHeader(MqttMessageType.CONNACK, false, MqttQoS.AT_MOST_ONCE,
            false, 2);/*from   w w  w  . j  a  v a2 s  .  c om*/
    MqttConnAckVariableHeader variableHeader = new MqttConnAckVariableHeader(returnCode, sessionPresent);

    return new MqttConnAckMessage(fixedHeader, variableHeader);
}

From source file:org.apache.activemq.artemis.core.protocol.mqtt.MQTTProtocolHandler.java

License:Apache License

void sendConnack(MqttConnectReturnCode returnCode) {
    MqttFixedHeader fixedHeader = new MqttFixedHeader(MqttMessageType.CONNACK, false, MqttQoS.AT_MOST_ONCE,
            false, 0);//w w w.j a v a  2s.  c  o  m
    MqttConnAckVariableHeader varHeader = new MqttConnAckVariableHeader(returnCode, true);
    MqttConnAckMessage message = new MqttConnAckMessage(fixedHeader, varHeader);
    sendToClient(message);
}

From source file:org.thingsboard.server.transport.mqtt.MqttTransportHandler.java

License:Apache License

private MqttConnAckMessage createMqttConnAckMsg(MqttConnectReturnCode returnCode) {
    MqttFixedHeader mqttFixedHeader = new MqttFixedHeader(CONNACK, false, AT_MOST_ONCE, false, 0);
    MqttConnAckVariableHeader mqttConnAckVariableHeader = new MqttConnAckVariableHeader(returnCode, true);
    return new MqttConnAckMessage(mqttFixedHeader, mqttConnAckVariableHeader);
}