コード例 #1
0
        public virtual void await()
        {
            /* close session thread */
            threads.await();
            /* close HTTP provider */
            ThreadShutdownHook hook = shutdownHookReference.Value;

            if (hook != null)
            {
                hook.onShutdown();
            }
            else
            {
                // In case of iOS client, no ThreadShutdownHook is provided
                log.Info("No HTTP Shutdown Hook provided");
            }
            /* close WebSocket provider */
            ThreadShutdownHook wsHook = wsShutdownHookReference.Value;

            if (wsHook != null)
            {
                wsHook.onShutdown();
            }
            else
            {
                log.Info("No WebSocket Shutdown Hook provided");
            }
        }
コード例 #2
0
 public virtual void registerWebSocketShutdownHook(ThreadShutdownHook shutdownHook)
 {
     // This allows to register the passed hook only once and therefore to have only one reference
     wsShutdownHookReference.CompareAndSet(null, shutdownHook);
 }