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

Method run

src/main/java/io/socket/client/Manager.java:220–308  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

218 public Manager open(final OpenCallback fn) {
219 EventThread.exec(new Runnable() {
220 @Override
221 public void run() {
222 if (logger.isLoggable(Level.FINE)) {
223 logger.fine(String.format("readyState %s", Manager.this.readyState));
224 }
225 if (Manager.this.readyState == ReadyState.OPEN || Manager.this.readyState == ReadyState.OPENING) return;
226
227 if (logger.isLoggable(Level.FINE)) {
228 logger.fine(String.format("opening %s", Manager.this.uri));
229 }
230 Manager.this.engine = new Engine(Manager.this.uri, Manager.this.opts);
231 final io.socket.engineio.client.Socket socket = Manager.this.engine;
232 final Manager self = Manager.this;
233 Manager.this.readyState = ReadyState.OPENING;
234 Manager.this.skipReconnect = false;
235
236 // propagate transport event.
237 socket.on(Engine.EVENT_TRANSPORT, new Listener() {
238 @Override
239 public void call(Object... args) {
240 self.emit(Manager.EVENT_TRANSPORT, args);
241 }
242 });
243
244 final On.Handle openSub = On.on(socket, Engine.EVENT_OPEN, new Listener() {
245 @Override
246 public void call(Object... objects) {
247 self.onopen();
248 if (fn != null) fn.call(null);
249 }
250 });
251
252 On.Handle errorSub = On.on(socket, Engine.EVENT_ERROR, new Listener() {
253 @Override
254 public void call(Object... objects) {
255 Object data = objects.length > 0 ? objects[0] : null;
256 logger.fine("connect_error");
257 self.cleanup();
258 self.readyState = ReadyState.CLOSED;
259 self.emit(EVENT_ERROR, data);
260 if (fn != null) {
261 Exception err = new SocketIOException("Connection error",
262 data instanceof Exception ? (Exception) data : null);
263 fn.call(err);
264 } else {
265 // Only do this if there is no fn to handle the error
266 self.maybeReconnectOnOpen();
267 }
268 }
269 });
270
271 final long timeout = Manager.this._timeout;
272 final Runnable onTimeout = new Runnable() {
273 @Override
274 public void run() {
275 logger.fine(String.format("connect attempt timed out after %d", timeout));
276 openSub.destroy();
277 socket.close();

Callers

nothing calls this directly

Calls 9

onMethod · 0.95
emitMethod · 0.80
execMethod · 0.80
scheduleMethod · 0.80
getAttemptsMethod · 0.80
destroyMethod · 0.65
addMethod · 0.65
closeMethod · 0.45
openMethod · 0.45

Tested by

no test coverage detected