List of usage examples for io.netty.handler.codec.mqtt MqttUnsubscribeMessage toString
@Override
public String toString()
From source file:net.anyflow.lannister.packetreceiver.UnsubscribeReceiver.java
License:Apache License
@Override protected void channelRead0(ChannelHandlerContext ctx, MqttUnsubscribeMessage msg) throws Exception { logger.debug("packet incoming [message={}]", msg.toString()); Session session = Session.NEXUS.get(ctx.channel().id()); if (session == null) { logger.error("None exist session message [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;/*from w ww . j av a2 s . c om*/ } session.setLastIncomingTime(new Date()); List<String> topicFilters = msg.payload().topics(); if (topicFilters == null || topicFilters.isEmpty()) { session.dispose(true); // [MQTT-4.8.0-1] return; } topicFilters.stream().forEach(tf -> session.topicSubscriptions().remove(tf)); Plugins.SELF.get(UnsubscribeEventListener.class).unsubscribed(new UnsubscribeEventArgs() { @Override public String clientId() { return session.clientId(); } @Override public List<String> topicFilters() { return topicFilters; } }); session.send(MessageFactory.unsuback(msg.variableHeader().messageId())); // [MQTT-2.3.1-7],[MQTT-3.10.4-4],[MQTT-3.10.4-5] }