void onClose(AtmosphereResourceEvent e) { for (AtmosphereResourceEventListener r : listeners) { r.onClose(e); if (transport.equals(TRANSPORT.WEBSOCKET) && WebSocketEventListener.class.isAssignableFrom(r.getClass())) { WebSocketEventListener.class.cast(r).onClose(new WebSocketEventListener.WebSocketEvent(1005, CLOSE, webSocket)); } } }
@Override public void onError(javax.websocket.Session session, java.lang.Throwable t) { try { logger.debug("Problem in web socket session", t); webSocketProcessor.notifyListener(webSocket, new WebSocketEventListener.WebSocketEvent<Throwable>(t, WebSocketEventListener.WebSocketEvent.TYPE.EXCEPTION, webSocket)); } catch (Exception ex) { // Ignore completely // https://github.com/Atmosphere/atmosphere/issues/1758 } } }
notifyListener(webSocket, new WebSocketEventListener.WebSocketEvent<byte[]>(data, MESSAGE, webSocket));
webSocketProcessor.notifyListener(webSocket, new WebSocketEventListener.WebSocketEvent("", HANDSHAKE, webSocket));
webSocketProcessor.notifyListener(webSocket, new WebSocketEventListener.WebSocketEvent("", HANDSHAKE, webSocket));
cleanUpAfterDisconnect = true; notifyListener(webSocket, new WebSocketEventListener.WebSocketEvent("", CONNECT, webSocket)); } catch (AtmosphereMappingException ex) { cleanUpAfterDisconnect = true;
notifyListener(webSocket, new WebSocketEventListener.WebSocketEvent(webSocketMessage, MESSAGE, webSocket));
@Override public void invokeWebSocketProtocol(WebSocket webSocket, InputStream stream) { WebSocketHandlerProxy webSocketHandler = webSocketHandlerForMessage(webSocket); try { if (webSocketHandler == null) { if (WebSocketProtocolStream.class.isAssignableFrom(webSocketProtocol.getClass())) { List<AtmosphereRequest> list = WebSocketProtocolStream.class.cast(webSocketProtocol).onBinaryStream(webSocket, stream); dispatch(webSocket, list); } else { dispatchStream(webSocket, stream); return; } } else { if (WebSocketStreamingHandler.class.isAssignableFrom(webSocketHandler.proxied.getClass())) { if (invokeInterceptors) { invokeInterceptors(webSocketHandler, webSocket, stream); } else { WebSocketStreamingHandler.class.cast(webSocketHandler.proxied()).onBinaryStream(webSocket, stream); } } else { dispatchStream(webSocket, stream); return; } } } catch (Exception ex) { handleException(ex, webSocket, webSocketHandler); } notifyListener(webSocket, new WebSocketEventListener.WebSocketEvent<InputStream>(stream, MESSAGE, webSocket)); }
@Override public void invokeWebSocketProtocol(WebSocket webSocket, Reader reader) { WebSocketHandlerProxy webSocketHandler = webSocketHandlerForMessage(webSocket); try { if (webSocketHandler == null) { if (WebSocketProtocolStream.class.isAssignableFrom(webSocketProtocol.getClass())) { List<AtmosphereRequest> list = WebSocketProtocolStream.class.cast(webSocketProtocol).onTextStream(webSocket, reader); dispatch(webSocket, list); } else { dispatchReader(webSocket, reader); return; } } else { if (WebSocketStreamingHandler.class.isAssignableFrom(webSocketHandler.proxied().getClass())) { if (invokeInterceptors) { invokeInterceptors(webSocketHandler, webSocket, reader); } else { WebSocketStreamingHandler.class.cast(webSocketHandler.proxied()).onTextStream(webSocket, reader); } } else { dispatchReader(webSocket, reader); return; } } } catch (Exception ex) { handleException(ex, webSocket, webSocketHandler); } notifyListener(webSocket, new WebSocketEventListener.WebSocketEvent<Reader>(reader, MESSAGE, webSocket)); }
public void executeClose(WebSocket webSocket, int closeCode) { AtmosphereResource r = webSocket.resource(); boolean isClosedByClient = r == null ? true : r.getAtmosphereResourceEvent().isClosedByClient(); try { if (r != null) { asynchronousProcessor.endRequest(AtmosphereResourceImpl.class.cast(r), true); } } finally { if (!isClosedByClient) { notifyListener(webSocket, new WebSocketEventListener.WebSocketEvent(closeCode, CLOSE, webSocket)); } } }
void onDisconnect(AtmosphereResourceEvent e) { for (AtmosphereResourceEventListener r : listeners) { r.onDisconnect(e); if (transport.equals(TRANSPORT.WEBSOCKET) && WebSocketEventListener.class.isAssignableFrom(r.getClass())) { WebSocketEventListener.class.cast(r).onDisconnect(new WebSocketEventListener.WebSocketEvent(1005, CLOSE, webSocket)); } } if (e.getResource() != null) { config.framework().notifyDestroyed(e.getResource().uuid()); } }