Browse Source

packet delimiter const introduced

master
Nikita 13 years ago
parent
commit
f2ebbea1cd
  1. 6
      src/main/java/com/corundumstudio/socketio/parser/Decoder.java
  2. 2
      src/main/java/com/corundumstudio/socketio/parser/Encoder.java
  3. 1
      src/main/java/com/corundumstudio/socketio/parser/Packet.java

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

@ -32,12 +32,12 @@ public class Decoder {
public List<Packet> decodePayload(String data) throws IOException {
List<Packet> result = new ArrayList<Packet>();
if (data.charAt(0) == '\ufffd') {
if (data.charAt(0) == Packet.DELIMITER) {
// TODO optimize
for (int i = 1; i < data.length(); i++) {
String length = "";
if (data.charAt(i) == '\ufffd') {
String packetStr = data.substring(i + 1).substring(0, Integer.valueOf(length));
if (data.charAt(i) == Packet.DELIMITER) {
String packetStr = data.substring(i + 1, Integer.valueOf(length));
Packet packet = decodePacket(packetStr);
result.add(packet);
i += Integer.valueOf(length) + 1;

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

@ -31,7 +31,7 @@ public class Encoder {
}
StringBuilder result = new StringBuilder();
for (String packet : packets) {
result.append('\ufffd').append(packet.length()).append('\ufffd').append(packet);
result.append(Packet.DELIMITER).append(packet.length()).append(Packet.DELIMITER).append(packet);
}
return result;
}

1
src/main/java/com/corundumstudio/socketio/parser/Packet.java

@ -14,6 +14,7 @@ import java.util.List;
public class Packet {
public static final char DELIMITER = '\ufffd';
public static final Packet NULL_INSTANCE = new Packet(null);
private final PacketType type;

Loading…
Cancel
Save