make EventThread public
This commit is contained in:
@@ -7,9 +7,9 @@ import java.util.concurrent.ThreadFactory;
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The main thread for Engine.IO Client.
|
* The main thread for event loop.
|
||||||
*/
|
*/
|
||||||
class EventThread extends Thread {
|
public class EventThread extends Thread {
|
||||||
|
|
||||||
private static final ExecutorService service = Executors.newSingleThreadExecutor(new ThreadFactory() {
|
private static final ExecutorService service = Executors.newSingleThreadExecutor(new ThreadFactory() {
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ public abstract class Transport extends Emitter {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public Transport open() {
|
public Transport open() {
|
||||||
exec(new Runnable() {
|
EventThread.exec(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
if (Transport.this.readyState == ReadyState.CLOSED || Transport.this.readyState == null) {
|
if (Transport.this.readyState == ReadyState.CLOSED || Transport.this.readyState == null) {
|
||||||
@@ -68,7 +68,7 @@ public abstract class Transport extends Emitter {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public Transport close() {
|
public Transport close() {
|
||||||
exec(new Runnable() {
|
EventThread.exec(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
if (Transport.this.readyState == ReadyState.OPENING || Transport.this.readyState == ReadyState.OPEN) {
|
if (Transport.this.readyState == ReadyState.OPENING || Transport.this.readyState == ReadyState.OPEN) {
|
||||||
@@ -81,7 +81,7 @@ public abstract class Transport extends Emitter {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void send(final Packet[] packets) {
|
public void send(final Packet[] packets) {
|
||||||
exec(new Runnable() {
|
EventThread.exec(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
if (Transport.this.readyState == ReadyState.OPEN) {
|
if (Transport.this.readyState == ReadyState.OPEN) {
|
||||||
@@ -118,14 +118,6 @@ public abstract class Transport extends Emitter {
|
|||||||
|
|
||||||
abstract protected void doClose();
|
abstract protected void doClose();
|
||||||
|
|
||||||
protected static void exec(Runnable task) {
|
|
||||||
EventThread.exec(task);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected static void nextTick(Runnable task) {
|
|
||||||
EventThread.nextTick(task);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public static class Options {
|
public static class Options {
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package com.github.nkzawa.engineio.client.transports;
|
package com.github.nkzawa.engineio.client.transports;
|
||||||
|
|
||||||
|
|
||||||
|
import com.github.nkzawa.engineio.client.EventThread;
|
||||||
import com.github.nkzawa.engineio.client.Transport;
|
import com.github.nkzawa.engineio.client.Transport;
|
||||||
import com.github.nkzawa.engineio.client.Util;
|
import com.github.nkzawa.engineio.client.Util;
|
||||||
import com.github.nkzawa.engineio.parser.Packet;
|
import com.github.nkzawa.engineio.parser.Packet;
|
||||||
@@ -33,7 +34,7 @@ abstract public class Polling extends Transport {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void pause(final Runnable onPause) {
|
public void pause(final Runnable onPause) {
|
||||||
exec(new Runnable() {
|
EventThread.exec(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
final Polling self = Polling.this;
|
final Polling self = Polling.this;
|
||||||
@@ -50,7 +51,7 @@ abstract public class Polling extends Transport {
|
|||||||
};
|
};
|
||||||
|
|
||||||
if (Polling.this.polling || !Polling.this.writable) {
|
if (Polling.this.polling || !Polling.this.writable) {
|
||||||
final int[] total = new int[] {0};
|
final int[] total = new int[]{0};
|
||||||
|
|
||||||
if (Polling.this.polling) {
|
if (Polling.this.polling) {
|
||||||
logger.fine("we are currently polling - waiting to pause");
|
logger.fine("we are currently polling - waiting to pause");
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package com.github.nkzawa.engineio.client.transports;
|
|||||||
|
|
||||||
|
|
||||||
import com.github.nkzawa.emitter.Emitter;
|
import com.github.nkzawa.emitter.Emitter;
|
||||||
|
import com.github.nkzawa.engineio.client.EventThread;
|
||||||
|
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
import java.net.HttpURLConnection;
|
import java.net.HttpURLConnection;
|
||||||
@@ -42,7 +43,7 @@ public class PollingXHR extends Polling {
|
|||||||
req.on(Request.EVENT_SUCCESS, new Listener() {
|
req.on(Request.EVENT_SUCCESS, new Listener() {
|
||||||
@Override
|
@Override
|
||||||
public void call(Object... args) {
|
public void call(Object... args) {
|
||||||
exec(new Runnable() {
|
EventThread.exec(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
fn.run();
|
fn.run();
|
||||||
@@ -53,7 +54,7 @@ public class PollingXHR extends Polling {
|
|||||||
req.on(Request.EVENT_ERROR, new Listener() {
|
req.on(Request.EVENT_ERROR, new Listener() {
|
||||||
@Override
|
@Override
|
||||||
public void call(final Object... args) {
|
public void call(final Object... args) {
|
||||||
exec(new Runnable() {
|
EventThread.exec(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
Exception err = args.length > 0 && args[0] instanceof Exception ? (Exception)args[0] : null;
|
Exception err = args.length > 0 && args[0] instanceof Exception ? (Exception)args[0] : null;
|
||||||
@@ -73,7 +74,7 @@ public class PollingXHR extends Polling {
|
|||||||
req.on(Request.EVENT_DATA, new Listener() {
|
req.on(Request.EVENT_DATA, new Listener() {
|
||||||
@Override
|
@Override
|
||||||
public void call(final Object... args) {
|
public void call(final Object... args) {
|
||||||
exec(new Runnable() {
|
EventThread.exec(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
String data = args.length > 0 ? (String) args[0] : null;
|
String data = args.length > 0 ? (String) args[0] : null;
|
||||||
@@ -85,7 +86,7 @@ public class PollingXHR extends Polling {
|
|||||||
req.on(Request.EVENT_ERROR, new Listener() {
|
req.on(Request.EVENT_ERROR, new Listener() {
|
||||||
@Override
|
@Override
|
||||||
public void call(final Object... args) {
|
public void call(final Object... args) {
|
||||||
exec(new Runnable() {
|
EventThread.exec(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
Exception err = args.length > 0 && args[0] instanceof Exception ? (Exception) args[0] : null;
|
Exception err = args.length > 0 && args[0] instanceof Exception ? (Exception) args[0] : null;
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package com.github.nkzawa.engineio.client.transports;
|
package com.github.nkzawa.engineio.client.transports;
|
||||||
|
|
||||||
|
|
||||||
|
import com.github.nkzawa.engineio.client.EventThread;
|
||||||
import com.github.nkzawa.engineio.client.Transport;
|
import com.github.nkzawa.engineio.client.Transport;
|
||||||
import com.github.nkzawa.engineio.client.Util;
|
import com.github.nkzawa.engineio.client.Util;
|
||||||
import com.github.nkzawa.engineio.parser.Packet;
|
import com.github.nkzawa.engineio.parser.Packet;
|
||||||
@@ -44,7 +45,7 @@ public class WebSocket extends Transport {
|
|||||||
this.socket = new WebSocketClient(new URI(this.uri()), new Draft_17()) {
|
this.socket = new WebSocketClient(new URI(this.uri()), new Draft_17()) {
|
||||||
@Override
|
@Override
|
||||||
public void onOpen(ServerHandshake serverHandshake) {
|
public void onOpen(ServerHandshake serverHandshake) {
|
||||||
exec(new Runnable() {
|
EventThread.exec(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
self.onOpen();
|
self.onOpen();
|
||||||
@@ -53,7 +54,7 @@ public class WebSocket extends Transport {
|
|||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
public void onClose(int i, String s, boolean b) {
|
public void onClose(int i, String s, boolean b) {
|
||||||
exec(new Runnable() {
|
EventThread.exec(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
self.onClose();
|
self.onClose();
|
||||||
@@ -62,7 +63,7 @@ public class WebSocket extends Transport {
|
|||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
public void onMessage(final String s) {
|
public void onMessage(final String s) {
|
||||||
exec(new Runnable() {
|
EventThread.exec(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
self.onData(s);
|
self.onData(s);
|
||||||
@@ -71,7 +72,7 @@ public class WebSocket extends Transport {
|
|||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
public void onError(final Exception e) {
|
public void onError(final Exception e) {
|
||||||
exec(new Runnable() {
|
EventThread.exec(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
self.onError("websocket error", e);
|
self.onError("websocket error", e);
|
||||||
@@ -104,7 +105,7 @@ public class WebSocket extends Transport {
|
|||||||
this.bufferedAmountId = this.drainScheduler.scheduleAtFixedRate(new Runnable() {
|
this.bufferedAmountId = this.drainScheduler.scheduleAtFixedRate(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
exec(new Runnable() {
|
EventThread.exec(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
if (!self.socket.getConnection().hasBufferedData()) {
|
if (!self.socket.getConnection().hasBufferedData()) {
|
||||||
@@ -116,7 +117,7 @@ public class WebSocket extends Transport {
|
|||||||
}
|
}
|
||||||
}, 50, 50, TimeUnit.MILLISECONDS);
|
}, 50, 50, TimeUnit.MILLISECONDS);
|
||||||
} else {
|
} else {
|
||||||
nextTick(ondrain);
|
EventThread.nextTick(ondrain);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user