@Override public ResponseMessageFuture logout(boolean sendLogout, ResponseListener... listeners) { credentials = null; authenticated = false; if (sendLogout) return send(new LogoutMessage(), listeners); return null; }
@Override public void onStop(Transport transport) { stop(); }
sendToken(token); continue; PingMessage pingMessage = new PingMessage(clientId); log.debug("Channel %s send ping %s with clientId %s", id, pingMessage.getId(), clientId); ResultMessage result = sendBlockingToken(pingMessage, token); if (result == null) continue; authenticate(token); sendToken(token);
@Override public void onMessage(InputStream is) { try { ResponseMessage response = decodeResponse(is); case FAULT: FaultMessage faultMessage = (FaultMessage)response; if (isAuthenticated() && faultMessage.getCode() == FaultMessage.Code.NOT_LOGGED_IN || faultMessage.getCode() == FaultMessage.Code.SESSION_EXPIRED) { authenticated = false; credentials = null;
protected LoginMessage authenticate(AsyncToken dependentToken) { if (authenticating || authenticated) return null; Credentials credentials = this.credentials; if (credentials == null) return null; LoginMessage loginMessage = new LoginMessage(clientId, credentials); if (dependentToken != null) { log.debug("Channel %s blocking authentication %s clientId %s", id, loginMessage.getId(), clientId); ResultMessage result = sendBlockingToken(loginMessage, dependentToken); if (result == null) return loginMessage; authenticated = true; authenticating = false; } else { log.debug("Channel %s non blocking authentication %s clientId %s", id, loginMessage.getId(), clientId); send(loginMessage); authenticating = true; } return loginMessage; }
ResultMessage result = sendBlockingToken(new PingMessage(clientId), token); if (result == null) continue; Credentials credentials = this.credentials; if (credentials != null) { ResultMessage result = sendBlockingToken(new LoginMessage(clientId, credentials), token); if (result == null) continue; sendToken(token);
@Override public ResponseMessageFuture send(RequestMessage request, ResponseListener... listeners) { if (request == null) throw new NullPointerException("request cannot be null"); if (!start()) throw new RuntimeException("Channel not started"); AsyncToken token = new AsyncToken(request, listeners); request.setTimestamp(System.currentTimeMillis()); if (request.getTimeToLive() <= 0L) request.setTimeToLive(defaultTimeToLive); try { timer.schedule(token, request.getRemainingTimeToLive()); tokensQueue.add(token); } catch (Exception e) { log.error(e, "Could not add token to queue: %s", token); token.dispatchFailure(e); return new ImmediateFailureResponseMessageFuture(e); } return token; }
TransportFuture transportFuture = transport.send(this, createTransportMessage(token));
if (!sendToken(blockingToken)) return null;
sendToken(token); continue; PingMessage pingMessage = new PingMessage(clientId); log.debug("Channel %s send ping %s with clientId %s", id, pingMessage.getId(), clientId); ResultMessage result = sendBlockingToken(pingMessage, token); if (result == null) continue; authenticate(token); sendToken(token);
@Override public void onMessage(TransportMessage message, InputStream is) { try { ResponseMessage response = decodeResponse(is); if (response == null) return; case FAULT: FaultMessage faultMessage = (FaultMessage)response; if (isAuthenticated() && (faultMessage.getCode() == FaultMessage.Code.NOT_LOGGED_IN || faultMessage.getCode() == FaultMessage.Code.SESSION_EXPIRED)) { authenticated = false; credentials = null;
protected LoginMessage authenticate(AsyncToken dependentToken) { if (authenticating || authenticated) return null; Credentials credentials = this.credentials; if (credentials == null) return null; LoginMessage loginMessage = new LoginMessage(clientId, credentials); if (dependentToken != null) { log.debug("Channel %s blocking authentication %s clientId %s", id, loginMessage.getId(), clientId); ResultMessage result = sendBlockingToken(loginMessage, dependentToken); if (result == null) return loginMessage; authenticated = true; authenticating = false; } else { log.debug("Channel %s non blocking authentication %s clientId %s", id, loginMessage.getId(), clientId); send(loginMessage); authenticating = true; } return loginMessage; }
@Override public ResponseMessageFuture send(RequestMessage request, ResponseListener... listeners) { if (request == null) throw new NullPointerException("request cannot be null"); if (!start()) throw new RuntimeException("Channel not started"); AsyncToken token = new AsyncToken(request, listeners); request.setTimestamp(System.currentTimeMillis()); if (request.getTimeToLive() <= 0L) request.setTimeToLive(defaultTimeToLive); try { timer.schedule(token, request.getRemainingTimeToLive()); tokensQueue.add(token); } catch (Exception e) { log.error(e, "Could not add token to queue: %s", token); token.dispatchFailure(e); return new ImmediateFailureResponseMessageFuture(e); } return token; }
TransportFuture transportFuture = transport.send(this, createTransportMessage(token));
if (!sendToken(blockingToken)) return null;
@Override public void onMessage(TransportMessage message, InputStream is) { try { ResponseMessage response = decodeResponse(is); if (response == null) return; case FAULT: FaultMessage faultMessage = (FaultMessage)response; if (isAuthenticated() && (faultMessage.getCode() == FaultMessage.Code.NOT_LOGGED_IN || faultMessage.getCode() == FaultMessage.Code.SESSION_EXPIRED)) { authenticated = false; credentials = null;
@Override public ResponseMessageFuture logout(boolean sendLogout, ResponseListener... listeners) { credentials = null; authenticated = false; if (sendLogout) return send(new LogoutMessage(), listeners); return null; }
@Override public void onStop(Transport transport) { stop(); }