示例#1
0
  public void unregisterSession(SdlSession registerListener) {
    synchronized (SESSION_LOCK) {
      listenerList.remove(registerListener);

      closeConnection(listenerList.size() == 0, registerListener.getSessionId());
    }
  }
示例#2
0
 private SdlSession findSessionById(byte id) {
   for (SdlSession listener : listenerList) {
     if (listener.getSessionId() == id) {
       return listener;
     }
   }
   return null;
 }
示例#3
0
 @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.
     }
   }
 }
示例#4
0
 @Override
 public void onTransportConnected() {
   synchronized (PROTOCOL_REFERENCE_LOCK) {
     if (_protocol != null) {
       for (SdlSession s : listenerList) {
         if (s.getSessionId() == 0) {
           startHandShake();
         }
       }
     }
   }
 }
示例#5
0
 public void sendHeartbeat(SdlSession mySession) {
   if (_protocol != null && mySession != null) _protocol.SendHeartBeat(mySession.getSessionId());
 }