Fixed netty buff memory leak bug #27

This commit is contained in:
andrea
2015-04-07 00:22:01 +02:00
parent fc046003d5
commit 647773cd2e
@@ -36,6 +36,7 @@ class PublishEncoder extends DemuxEncoder<PublishMessage> {
}
ByteBuf variableHeaderBuff = ctx.alloc().buffer(2);
ByteBuf buff = null;
try {
variableHeaderBuff.writeBytes(Utils.encodeString(message.getTopicName()));
if (message.getQos() == AbstractMessage.QOSType.LEAST_ONE ||
@@ -50,13 +51,16 @@ class PublishEncoder extends DemuxEncoder<PublishMessage> {
byte flags = Utils.encodeFlags(message);
ByteBuf buff = ctx.alloc().buffer(2 + variableHeaderSize);
buff = ctx.alloc().buffer(2 + variableHeaderSize);
buff.writeByte(AbstractMessage.PUBLISH << 4 | flags);
buff.writeBytes(Utils.encodeRemainingLength(variableHeaderSize));
buff.writeBytes(variableHeaderBuff);
out.writeBytes(buff);
} finally {
variableHeaderBuff.release();
if (buff != null) {
buff.release();
}
}
}