Added encode/decode for UnsubAck message

This commit is contained in:
andrea
2013-09-12 17:00:21 +02:00
parent 3066cfdd04
commit fa8a12a6f2
4 changed files with 39 additions and 0 deletions
@@ -28,6 +28,7 @@ public class MQTTDecoder extends ByteToMessageDecoder {
m_decoderMap.put(AbstractMessage.DISCONNECT, new DisconnectDecoder());
m_decoderMap.put(AbstractMessage.PINGREQ, new PingReqDecoder());
m_decoderMap.put(AbstractMessage.PINGRESP, new PingRespDecoder());
m_decoderMap.put(AbstractMessage.UNSUBACK, new UnsubAckDecoder());
}
@Override
@@ -27,6 +27,7 @@ public class MQTTEncoder extends MessageToByteEncoder<AbstractMessage> {
m_encoderMap.put(AbstractMessage.DISCONNECT, new DisconnectEncoder());
m_encoderMap.put(AbstractMessage.PINGREQ, new PingReqEncoder());
m_encoderMap.put(AbstractMessage.PINGRESP, new PingRespEncoder());
m_encoderMap.put(AbstractMessage.UNSUBACK, new UnsubAckEncoder());
}
@Override
@@ -0,0 +1,17 @@
package org.dna.mqtt.moquette.parser.netty;
import org.dna.mqtt.moquette.proto.messages.MessageIDMessage;
import org.dna.mqtt.moquette.proto.messages.UnsubAckMessage;
/**
*
* @author andrea
*/
class UnsubAckDecoder extends MessageIDDecoder {
@Override
protected MessageIDMessage createMessage() {
return new UnsubAckMessage();
}
}
@@ -0,0 +1,20 @@
package org.dna.mqtt.moquette.parser.netty;
import io.netty.buffer.ByteBuf;
import io.netty.channel.ChannelHandlerContext;
import org.dna.mqtt.moquette.proto.messages.AbstractMessage;
import org.dna.mqtt.moquette.proto.messages.UnsubAckMessage;
/**
*
* @author andrea
*/
class UnsubAckEncoder extends DemuxEncoder<UnsubAckMessage> {
@Override
protected void encode(ChannelHandlerContext chc, UnsubAckMessage msg, ByteBuf out) {
out.writeByte(AbstractMessage.UNSUBACK << 4).
writeBytes(Utils.encodeRemainingLength(2)).
writeShort(msg.getMessageID());
}
}