MCPcopy
hub / github.com/socketio/socket.io-client-java / IOParser

Class IOParser

src/main/java/io/socket/parser/IOParser.java:15–261  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

13import java.util.logging.Logger;
14
15final public class IOParser implements Parser {
16
17 private static final Logger logger = Logger.getLogger(IOParser.class.getName());
18
19 private IOParser() {}
20
21 final public static class Encoder implements Parser.Encoder {
22
23 public Encoder() {}
24
25 @Override
26 public void encode(Packet obj, Callback callback) {
27 if ((obj.type == EVENT || obj.type == ACK) && HasBinary.hasBinary(obj.data)) {
28 obj.type = obj.type == EVENT ? BINARY_EVENT : BINARY_ACK;
29 }
30
31 if (logger.isLoggable(Level.FINE)) {
32 logger.fine(String.format("encoding packet %s", obj));
33 }
34
35 if (BINARY_EVENT == obj.type || BINARY_ACK == obj.type) {
36 encodeAsBinary(obj, callback);
37 } else {
38 String encoding = encodeAsString(obj);
39 callback.call(new String[] {encoding});
40 }
41 }
42
43 private String encodeAsString(Packet obj) {
44 StringBuilder str = new StringBuilder("" + obj.type);
45
46 if (BINARY_EVENT == obj.type || BINARY_ACK == obj.type) {
47 str.append(obj.attachments);
48 str.append("-");
49 }
50
51 if (obj.nsp != null && obj.nsp.length() != 0 && !"/".equals(obj.nsp)) {
52 str.append(obj.nsp);
53 str.append(",");
54 }
55
56 if (obj.id >= 0) {
57 str.append(obj.id);
58 }
59
60 if (obj.data != null) {
61 str.append(obj.data);
62 }
63
64 if (logger.isLoggable(Level.FINE)) {
65 logger.fine(String.format("encoded %s as %s", obj, str));
66 }
67 return str.toString();
68 }
69
70 private void encodeAsBinary(Packet obj, Callback callback) {
71 Binary.DeconstructedPacket deconstruction = Binary.deconstructPacket(obj);
72 String pack = encodeAsString(deconstruction.packet);

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected