public void unregisterSession(SdlSession registerListener) { synchronized (SESSION_LOCK) { listenerList.remove(registerListener); closeConnection(listenerList.size() == 0, registerListener.getSessionId()); } }
private SdlSession findSessionById(byte id) { for (SdlSession listener : listenerList) { if (listener.getSessionId() == id) { return listener; } } return null; }
@Override public void onProtocolSessionStarted( SessionType sessionType, byte sessionID, byte version, String correlationID) { for (SdlSession session : listenerList) { if (session.getSessionId() == 0 || sessionType == SessionType.NAV) { session.onProtocolSessionStarted(sessionType, sessionID, version, correlationID); break; // FIXME: need changes on SDL side, as the sessionID is devided by SDL. } } }
@Override public void onTransportConnected() { synchronized (PROTOCOL_REFERENCE_LOCK) { if (_protocol != null) { for (SdlSession s : listenerList) { if (s.getSessionId() == 0) { startHandShake(); } } } } }
public void sendHeartbeat(SdlSession mySession) { if (_protocol != null && mySession != null) _protocol.SendHeartBeat(mySession.getSessionId()); }