Example usage for io.netty.handler.codec.mqtt MqttMessage toString

List of usage examples for io.netty.handler.codec.mqtt MqttMessage toString

Introduction

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

Prototype

@Override
    public String toString() 

Source Link

Usage

From source file:net.anyflow.lannister.packetreceiver.GenericReceiver.java

License:Apache License

@Override
protected void channelRead0(ChannelHandlerContext ctx, MqttMessage msg) throws Exception {
    if (msg.decoderResult().isSuccess() == false) {
        logger.error("decoding MQTT message failed : {}", msg.decoderResult().cause().getMessage());

        Session session = Session.NEXUS.get(ctx.channel().id());
        if (session != null) {
            session.dispose(true); // [MQTT-4.8.0-1]
        } else {//www  .j a  v  a  2  s.  c om
            ctx.channel().writeAndFlush(msg).addListener(f -> {
                logger.debug("packet outgoing [{}]", msg);

                ctx.channel().disconnect().addListener(ChannelFutureListener.CLOSE).addListener(fs -> // [MQTT-3.2.2-5]
                Plugins.SELF.get(DisconnectEventListener.class)
                        .disconnected(new AbnormalDisconnectEventArgs()));
            });
        }
        return;
    } else {
        logger.debug("packet incoming [message={}]", msg.toString());

        Session session = Session.NEXUS.get(ctx.channel().id());
        if (session == null) {
            logger.error("None exist session message : {}", msg.toString());

            ctx.channel().disconnect().addListener(ChannelFutureListener.CLOSE).addListener(fs -> // [MQTT-4.8.0-1]
            Plugins.SELF.get(DisconnectEventListener.class).disconnected(new AbnormalDisconnectEventArgs()));
            return;
        }

        session.setLastIncomingTime(new Date());

        switch (msg.fixedHeader().messageType()) {
        case DISCONNECT:
            DisconnectReceiver.SHARED.handle(session);
            return;

        case PINGREQ:
            PingReqReceiver.SHARED.handle(session);
            return;

        case PUBREC:
            PubRecReceiver.SHARED.handle(session,
                    ((MqttMessageIdVariableHeader) msg.variableHeader()).messageId());
            return;

        case PUBREL:
            PubRelReceiver.SHARED.handle(session,
                    ((MqttMessageIdVariableHeader) msg.variableHeader()).messageId());
            return;

        case PUBCOMP:
            PubCompReceiver.SHARED.handle(session,
                    ((MqttMessageIdVariableHeader) msg.variableHeader()).messageId());
            return;

        default:
            session.dispose(true); // [MQTT-4.8.0-1]
            return;
        }
    }
}

From source file:net.anyflow.lannister.session.MessageSender.java

License:Apache License

protected ChannelFuture send(MqttMessage message) {
    if (session.isConnected(true) == false) {
        logger.error("Message is not sent - Channel is inactive or out of the node. [{}]", message);
        return null;
    }/*  ww  w . j a v  a  2 s  .  c  o  m*/

    ChannelHandlerContext ctx = Session.NEXUS.channelHandlerContext(session.clientId());

    String log = message.toString();
    return ctx.writeAndFlush(message).addListener(f -> {
        logger.debug("packet outgoing [{}]", log);
    });
}