Esempio n. 1
0
AJ_Status AJS_SessionLost(duk_context* ctx, AJ_Message* msg)
{
    uint32_t sessionId;
    AJ_UnmarshalArgs(msg, "u", &sessionId);

    AJ_InfoPrintf(("AJS_SessionLost(): Removing session: %u\n", sessionId));
    return RemoveSessions(ctx, sessionId);
}
void QMessageTransceiverThread :: UnregisterHandler(QMessageTransceiverThread & thread, QMessageTransceiverHandler * handler, bool emitEndMessageBatchIfNecessary)
{
   if (this != &thread) thread.UnregisterHandler(thread, handler, emitEndMessageBatchIfNecessary);  // paranoia
   else
   {
      if (_handlers.Remove(handler->_sessionID) == B_NO_ERROR)
      {
         // paranoia:  in case we are doing this in the middle of our last-seen traversal, we need
         // to safely remove (handler) from the traversal so that the traversal doesn't break
         if ((emitEndMessageBatchIfNecessary)&&((handler->_nextSeen)||(handler == _lastSeenHandler))) RemoveFromSeenList(handler, emitEndMessageBatchIfNecessary);

         (void) RemoveSessions(handler->_sessionTargetString());
      }

      handler->ClearRegistrationFields();
   }
}
Esempio n. 3
0
AJ_Status AJS_EndSessions(duk_context* ctx)
{
    return RemoveSessions(ctx, 0);
}