Browse Source

Merge pull request #326 from winstonli/master

Bug fix - IllegalStateException thrown on valid binary packet when placeholder fields in opposite order
master
Nikita Koksharov 9 years ago
parent
commit
008552a55d
  1. 6
      src/main/java/com/corundumstudio/socketio/protocol/PacketDecoder.java

6
src/main/java/com/corundumstudio/socketio/protocol/PacketDecoder.java

@ -252,7 +252,11 @@ public class PacketDecoder {
ByteBuf scanValue = Unpooled.copiedBuffer("{\"_placeholder\":true,\"num\":" + i + "}", CharsetUtil.UTF_8);
int pos = PacketEncoder.find(source, scanValue);
if (pos == -1) {
throw new IllegalStateException("Can't find attachment by index: " + i + " in packet source");
scanValue = Unpooled.copiedBuffer("{\"num\":" + i + ",\"_placeholder\":true}", CharsetUtil.UTF_8);
pos = PacketEncoder.find(source, scanValue);
if (pos == -1) {
throw new IllegalStateException("Can't find attachment by index: " + i + " in packet source");
}
}
ByteBuf prefixBuf = source.slice(source.readerIndex(), pos - source.readerIndex());

Loading…
Cancel
Save