Browse Source

Payload decode optimization

master
Nikita 13 years ago
parent
commit
b20868fc40
  1. 2
      README.md
  2. 10
      src/main/java/com/corundumstudio/socketio/parser/Decoder.java

2
README.md

@ -1,6 +1,6 @@
#Overview
This project is an open-source Java implementation of [Socket.IO](http://repo1.maven.org/maven2/com/fasterxml/jackson/core/jackson-core/) server. Based on [Netty](http://netty.io/) server framework.
This project is an open-source Java implementation of [Socket.IO](http://socket.io/) server. Based on [Netty](http://netty.io/) server framework.
Licensed under the MIT license.

10
src/main/java/com/corundumstudio/socketio/parser/Decoder.java

@ -33,15 +33,17 @@ public class Decoder {
List<Packet> result = new ArrayList<Packet>();
if (data.charAt(0) == Packet.DELIMITER) {
// TODO optimize
StringBuilder length = new StringBuilder();
for (int i = 1; i < data.length(); i++) {
String length = "";
if (data.charAt(i) == Packet.DELIMITER) {
String packetStr = data.substring(i + 1, Integer.valueOf(length));
Integer len = Integer.valueOf(length.toString());
String packetStr = data.substring(i + 1, i + 1 + len);
Packet packet = decodePacket(packetStr);
result.add(packet);
i += Integer.valueOf(length) + 1;
i += len + 1;
length.setLength(0);
} else {
length += data.charAt(i);
length.append(data.charAt(i));
}
}
} else {

Loading…
Cancel
Save