Browse Source

Unreleased butebuf logging

master
Nikita 11 years ago
parent
commit
309fe9a22e
  1. 5
      src/main/java/com/corundumstudio/socketio/handler/EncoderHandler.java
  2. 19
      src/main/java/com/corundumstudio/socketio/parser/Encoder.java

5
src/main/java/com/corundumstudio/socketio/handler/EncoderHandler.java

@ -144,6 +144,11 @@ public class EncoderHandler extends ChannelOutboundHandlerAdapter {
if (msg instanceof WebsocketErrorMessage) {
handle((WebsocketErrorMessage) msg, ctx.channel(), out);
}
if (out.refCnt() > 0) {
log.warn("Buf for message: {} has not been deallocated, refCnt: {}! Forcing release it!", msg, out.refCnt());
out.release();
}
}
private void handle(AuthorizeMessage authMsg, Channel channel, ByteBuf out) throws IOException {

19
src/main/java/com/corundumstudio/socketio/parser/Encoder.java

@ -68,14 +68,17 @@ public class Encoder {
}
ByteBuf packetBuffer = allocateBuffer(allocator);
int len = encodePacket(packet, packetBuffer);
byte[] lenBytes = toChars(len);
buffer.writeBytes(Packet.DELIMITER_BYTES);
buffer.writeBytes(lenBytes);
buffer.writeBytes(Packet.DELIMITER_BYTES);
buffer.writeBytes(packetBuffer);
packetBuffer.release();
try {
int len = encodePacket(packet, packetBuffer);
byte[] lenBytes = toChars(len);
buffer.writeBytes(Packet.DELIMITER_BYTES);
buffer.writeBytes(lenBytes);
buffer.writeBytes(Packet.DELIMITER_BYTES);
buffer.writeBytes(packetBuffer);
} finally {
packetBuffer.release();
}
}
}
}

Loading…
Cancel
Save