Multiple code improvements 1

This commit is contained in:
George Kankava
2016-02-01 21:10:08 +04:00
parent 831203e617
commit 26b5a7754a
3 changed files with 31 additions and 27 deletions

View File

@@ -8,10 +8,12 @@ import io.socket.engineio.parser.Packet;
import io.socket.engineio.parser.Parser; import io.socket.engineio.parser.Parser;
import io.socket.parseqs.ParseQS; import io.socket.parseqs.ParseQS;
import io.socket.thread.EventThread; import io.socket.thread.EventThread;
import org.json.JSONException; import org.json.JSONException;
import javax.net.ssl.HostnameVerifier; import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.SSLContext; import javax.net.ssl.SSLContext;
import java.net.URI; import java.net.URI;
import java.net.URISyntaxException; import java.net.URISyntaxException;
import java.util.*; import java.util.*;
@@ -29,7 +31,9 @@ import java.util.logging.Logger;
*/ */
public class Socket extends Emitter { public class Socket extends Emitter {
private static final Logger logger = Logger.getLogger(Socket.class.getName()); private static final String PROBE_ERROR = "probe error";
private static final Logger logger = Logger.getLogger(Socket.class.getName());
private enum ReadyState { private enum ReadyState {
OPENING, OPEN, CLOSING, CLOSED; OPENING, OPEN, CLOSING, CLOSED;
@@ -95,7 +99,7 @@ public class Socket extends Emitter {
/** /**
* The protocol version. * The protocol version.
*/ */
public static final int protocol = Parser.protocol; public static final int PROTOCOL = Parser.PROTOCOL;
private static boolean priorWebsocketSuccess = false; private static boolean priorWebsocketSuccess = false;
@@ -128,14 +132,12 @@ public class Socket extends Emitter {
private ReadyState readyState; private ReadyState readyState;
private ScheduledExecutorService heartbeatScheduler; private ScheduledExecutorService heartbeatScheduler;
private final Listener onHeartbeatAsListener = new Listener() {
public static void setDefaultSSLContext(SSLContext sslContext) { @Override
defaultSSLContext = sslContext; public void call(Object... args) {
} Socket.this.onHeartbeat(args.length > 0 ? (Long)args[0]: 0);
}
public static void setDefaultHostnameVerifier(HostnameVerifier hostnameVerifier) { };
defaultHostnameVerifier = hostnameVerifier;
}
public Socket() { public Socket() {
this(new Options()); this(new Options());
@@ -206,6 +208,14 @@ public class Socket extends Emitter {
this.hostnameVerifier = opts.hostnameVerifier != null ? opts.hostnameVerifier : defaultHostnameVerifier; this.hostnameVerifier = opts.hostnameVerifier != null ? opts.hostnameVerifier : defaultHostnameVerifier;
} }
public static void setDefaultSSLContext(SSLContext sslContext) {
defaultSSLContext = sslContext;
}
public static void setDefaultHostnameVerifier(HostnameVerifier hostnameVerifier) {
defaultHostnameVerifier = hostnameVerifier;
}
/** /**
* Connects the client. * Connects the client.
* *
@@ -244,7 +254,7 @@ public class Socket extends Emitter {
logger.fine(String.format("creating transport '%s'", name)); logger.fine(String.format("creating transport '%s'", name));
Map<String, String> query = new HashMap<String, String>(this.query); Map<String, String> query = new HashMap<String, String>(this.query);
query.put("EIO", String.valueOf(Parser.protocol)); query.put("EIO", String.valueOf(Parser.PROTOCOL));
query.put("transport", name); query.put("transport", name);
if (this.id != null) { if (this.id != null) {
query.put("sid", this.id); query.put("sid", this.id);
@@ -364,7 +374,7 @@ public class Socket extends Emitter {
}); });
} else { } else {
logger.fine(String.format("probe transport '%s' failed", name)); logger.fine(String.format("probe transport '%s' failed", name));
EngineIOException err = new EngineIOException("probe error"); EngineIOException err = new EngineIOException(PROBE_ERROR);
err.transport = transport[0].name; err.transport = transport[0].name;
self.emit(EVENT_UPGRADE_ERROR, err); self.emit(EVENT_UPGRADE_ERROR, err);
} }
@@ -394,11 +404,11 @@ public class Socket extends Emitter {
Object err = args[0]; Object err = args[0];
EngineIOException error; EngineIOException error;
if (err instanceof Exception) { if (err instanceof Exception) {
error = new EngineIOException("probe error", (Exception)err); error = new EngineIOException(PROBE_ERROR, (Exception)err);
} else if (err instanceof String) { } else if (err instanceof String) {
error = new EngineIOException("probe error: " + (String)err); error = new EngineIOException("probe error: " + (String)err);
} else { } else {
error = new EngineIOException("probe error"); error = new EngineIOException(PROBE_ERROR);
} }
error.transport = transport[0].name; error.transport = transport[0].name;
@@ -518,13 +528,6 @@ public class Socket extends Emitter {
this.on(EVENT_HEARTBEAT, this.onHeartbeatAsListener); this.on(EVENT_HEARTBEAT, this.onHeartbeatAsListener);
} }
private final Listener onHeartbeatAsListener = new Listener() {
@Override
public void call(Object... args) {
Socket.this.onHeartbeat(args.length > 0 ? (Long)args[0]: 0);
}
};
private void onHeartbeat(long timeout) { private void onHeartbeat(long timeout) {
if (this.pingTimeoutTimer != null) { if (this.pingTimeoutTimer != null) {
pingTimeoutTimer.cancel(false); pingTimeoutTimer.cancel(false);

View File

@@ -14,7 +14,7 @@ public class Parser {
private static final int MAX_INT_CHAR_LENGTH = String.valueOf(Integer.MAX_VALUE).length(); private static final int MAX_INT_CHAR_LENGTH = String.valueOf(Integer.MAX_VALUE).length();
public static final int protocol = 3; public static final int PROTOCOL = 3;
private static final Map<String, Integer> packets = new HashMap<String, Integer>() {{ private static final Map<String, Integer> packets = new HashMap<String, Integer>() {{
put(Packet.OPEN, 0); put(Packet.OPEN, 0);

View File

@@ -10,7 +10,8 @@ import java.util.List;
*/ */
public class UTF8 { public class UTF8 {
private static int[] byteArray; private static final String INVALID_CONTINUATION_BYTE = "Invalid continuation byte";
private static int[] byteArray;
private static int byteCount; private static int byteCount;
private static int byteIndex; private static int byteIndex;
@@ -103,7 +104,7 @@ public class UTF8 {
if (codePoint >= 0x80) { if (codePoint >= 0x80) {
return codePoint; return codePoint;
} else { } else {
throw new UTF8Exception("Invalid continuation byte"); throw new UTF8Exception(INVALID_CONTINUATION_BYTE);
} }
} }
@@ -115,7 +116,7 @@ public class UTF8 {
checkScalarValue(codePoint); checkScalarValue(codePoint);
return codePoint; return codePoint;
} else { } else {
throw new UTF8Exception("Invalid continuation byte"); throw new UTF8Exception(INVALID_CONTINUATION_BYTE);
} }
} }
@@ -129,7 +130,7 @@ public class UTF8 {
} }
} }
throw new UTF8Exception("Invalid continuation byte"); throw new UTF8Exception(INVALID_CONTINUATION_BYTE);
} }
private static int readContinuationByte() throws UTF8Exception { private static int readContinuationByte() throws UTF8Exception {
@@ -144,7 +145,7 @@ public class UTF8 {
return continuationByte & 0x3F; return continuationByte & 0x3F;
} }
throw new UTF8Exception("Invalid continuation byte"); throw new UTF8Exception(INVALID_CONTINUATION_BYTE);
} }
private static String ucs2encode(int[] array) { private static String ucs2encode(int[] array) {