Browse Source

ByteBuf releasing fixed. #139

master
Nikita 11 years ago
parent
commit
b54bd6f4f5
  1. 2
      src/main/java/com/corundumstudio/socketio/messages/HttpMessage.java
  2. 9
      src/main/java/com/corundumstudio/socketio/protocol/PacketEncoder.java

2
src/main/java/com/corundumstudio/socketio/messages/HttpMessage.java

@ -17,7 +17,7 @@ package com.corundumstudio.socketio.messages;
import java.util.UUID;
public class HttpMessage extends BaseMessage {
public abstract class HttpMessage extends BaseMessage {
private final String origin;
private final UUID sessionId;

9
src/main/java/com/corundumstudio/socketio/protocol/PacketEncoder.java

@ -55,12 +55,12 @@ public class PacketEncoder {
public void encodeJsonP(Integer jsonpIndex, Queue<Packet> packets, ByteBuf out, ByteBufAllocator allocator, int limit) throws IOException {
boolean jsonpMode = jsonpIndex != null;
ByteBuf buf = out;
if (jsonpMode) {
buf = allocateBuffer(allocator);
}
int i = 0;
while (true) {
Packet packet = packets.poll();
@ -81,7 +81,7 @@ public class PacketEncoder {
buf.writeBytes(toChars(packetSize));
buf.writeBytes(B64_DELIMITER);
buf.writeBytes(packetBuf);
i++;
}
@ -89,8 +89,9 @@ public class PacketEncoder {
out.writeBytes(JSONP_HEAD);
out.writeBytes(toChars(jsonpIndex));
out.writeBytes(JSONP_START);
String packet = buf.toString(CharsetUtil.UTF_8);
buf.release();
// TODO optimize
packet = QUOTES_PATTERN.matcher(packet).replaceAll("\\\\\"");
packet = new String(packet.getBytes(CharsetUtil.UTF_8), CharsetUtil.ISO_8859_1);

Loading…
Cancel
Save