Added encode/decode for PubRel message

This commit is contained in:
andrea
2013-09-12 17:14:21 +02:00
parent 47bdb27261
commit 6fb4682d8b
4 changed files with 40 additions and 0 deletions
@@ -31,6 +31,7 @@ public class MQTTDecoder extends ByteToMessageDecoder {
m_decoderMap.put(AbstractMessage.UNSUBACK, new UnsubAckDecoder());
m_decoderMap.put(AbstractMessage.PUBCOMP, new PubCompDecoder());
m_decoderMap.put(AbstractMessage.PUBREC, new PubRecDecoder());
m_decoderMap.put(AbstractMessage.PUBREL, new PubRelDecoder());
}
@Override
@@ -30,6 +30,7 @@ public class MQTTEncoder extends MessageToByteEncoder<AbstractMessage> {
m_encoderMap.put(AbstractMessage.UNSUBACK, new UnsubAckEncoder());
m_encoderMap.put(AbstractMessage.PUBCOMP, new PubCompEncoder());
m_encoderMap.put(AbstractMessage.PUBREC, new PubRecEncoder());
m_encoderMap.put(AbstractMessage.PUBREL, new PubRelEncoder());
}
@Override
@@ -0,0 +1,18 @@
package org.dna.mqtt.moquette.parser.netty;
import org.dna.mqtt.moquette.proto.messages.MessageIDMessage;
import org.dna.mqtt.moquette.proto.messages.PubRelMessage;
/**
*
* @author andrea
*/
class PubRelDecoder extends MessageIDDecoder {
@Override
protected MessageIDMessage createMessage() {
return new PubRelMessage();
}
}
@@ -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.PubRelMessage;
/**
*
* @author andrea
*/
class PubRelEncoder extends DemuxEncoder<PubRelMessage> {
@Override
protected void encode(ChannelHandlerContext chc, PubRelMessage msg, ByteBuf out) {
out.writeByte(AbstractMessage.PUBREL << 4);
out.writeBytes(Utils.encodeRemainingLength(2));
out.writeShort(msg.getMessageID());
}
}