void setSession(Session session) { this.session = session; this.sessionName = "[" + session.getRemoteAddress() + "]"; }
private String sessionName() { return session == null ? "[No session initialized]" : "Session[" + session.getRemoteAddress() + "]"; }
private String sessionName() { return session == null ? "[No session initialized]" : "Session[" + session.getRemoteAddress() + "]"; }
@Override public InetSocketAddress getRemoteAddress() { return session.getRemoteAddress(); }
@Override public InetSocketAddress getRemoteAddress() { checkNativeSessionInitialized(); return getNativeSession().getRemoteAddress(); }
private String sessionName() { if (null == sessionId) { if (null == session) throw new IllegalStateException(String.format("Cannot get session name because the session has not been assigned to socket %s", key())); sessionId = String.format("Session[%s:%s]", session.getRemoteAddress(), key()); } return sessionId; }
@Signature public String remoteAddress() { return getWrappedObject().getRemoteAddress().toString(); }
@Test public void shouldSetSessionNameToNoSessionWhenStopped() throws Exception { when(session.isOpen()).thenReturn(true); when(session.getRemoteAddress()).thenReturn(null); handler.stop(); assertThat(handler.getSessionName(), is("[No Session]")); }
@Test public void shouldSetSessionToNullWhenStopped() throws Exception { when(session.isOpen()).thenReturn(true); when(session.getRemoteAddress()).thenReturn(null); handler.stop(); verify(session).close(); assertThat(handler.isNotRunning(), is(true)); }
@OnWebSocketConnect public void onConnect(Session session) { wsSession = session; wsConnection = new WebSocketConnection(this, session.getRemoteAddress()); pingTask = new PingTask(); TaskEngine.getInstance().schedule(pingTask, JiveConstants.MINUTE, JiveConstants.MINUTE); }
@Override public InetSocketAddress getRemoteAddress() { return session.getRemoteAddress(); }
@Override public String toString() { return "WsSession[" + session.getRemoteAddress() + "]"; } }
@Override public String clientAddress() { final Session ws = getSession(); return ws != null ? ws.getRemoteAddress().toString() : null; }
@Override public void onWebSocketBinary(byte[] bytes, int i, int i1) { LOGGER.info("CLIENT: {} received byte message length: {}", currentSession.getRemoteAddress().toString(), bytes.length); onMessage(currentSession, bytes); }
@Override public void onWebSocketConnect(Session session) { super.onWebSocketConnect(session); log.info("[{}] New WebSocket session on topic {}", session.getRemoteAddress(), topic); }
@Override public void onWebSocketError(Throwable cause) { super.onWebSocketError(cause); log.info("[{}] WebSocket error on topic {} : {}", getSession().getRemoteAddress(), topic, cause.getMessage()); try { close(); } catch (IOException e) { log.error("Failed in closing WebSocket session for topic {} with error: {}", topic, e.getMessage()); } }
@Override public InetSocketAddress getRemoteAddress() { checkNativeSessionInitialized(); return getNativeSession().getRemoteAddress(); }
public void close(WebSocketError error) { log.warn("[{}] Closing WebSocket session for topic {} - code: [{}], reason: [{}]", getSession().getRemoteAddress(), topic, error); getSession().close(error.getCode(), error.getDescription()); }
public void close(WebSocketError error, String message) { log.warn("[{}] Closing WebSocket session for topic {} - code: [{}], reason: [{}]", getSession().getRemoteAddress(), topic, error, message); getSession().close(error.getCode(), error.getDescription() + ": " + message); }
@OnWebSocketConnect public void onConnect(Session session) { wsSession = session; wsConnection = new WebSocketConnection(this, session.getRemoteAddress()); pingTask = new PingTask(); TaskEngine.getInstance().schedule(pingTask, JiveConstants.MINUTE, JiveConstants.MINUTE); }