예제 #1
0
        public void RegionLoaded(Scene scene)
        {
            if (!m_Enabled)
            {
                return;
            }

            if (m_TransferModule == null)
            {
                m_TransferModule =
                    scene.RequestModuleInterface <IMessageTransferModule>();

                if (m_TransferModule == null)
                {
                    m_log.Error("[INSTANT MESSAGE]: No message transfer module, " +
                                "lures will not work!");

                    m_Enabled = false;
                    m_scenes.Clear();
                    scene.EventManager.OnNewClient -= OnNewClient;
                    scene.EventManager.OnIncomingInstantMessage -=
                        OnGridInstantMessage;
                }
            }
        }
        public void Stop()
        {
            IsRunning = false;
//            m_timeout = -10000; // cause all to expire
            Thread.Sleep(1000); // let the world move

            foreach (Thread t in m_workerThreads)
            {
                Watchdog.AbortThread(t.ManagedThreadId);
            }

            PollServiceHttpRequest wreq;

            if (m_longPollRequests.Count > 0 && IsRunning)
            {
                m_longPollRequests.ForEach(req => m_requests.Enqueue(req));
            }

            try
            {
                while (true)
                {
                    wreq = m_requests.Dequeue(0);
                    ResponsesProcessed++;
                    try
                    {
                        wreq.DoHTTPGruntWork(
                            m_server, wreq.PollServiceArgs.NoEvents(wreq.RequestID, wreq.PollServiceArgs.Id));
                    }
                    catch
                    {
                    }
                }
            }
            catch
            {
            }

            m_longPollRequests.Clear();
            m_requests.Clear();
        }
        public void RegionLoaded(Scene scene)
        {
            if (!enabled)
            {
                return;
            }

            if (m_TransferModule == null)
            {
                m_TransferModule = scene.RequestModuleInterface <IMessageTransferModule>();
                if (m_TransferModule == null)
                {
                    scene.EventManager.OnNewClient -= OnNewClient;

                    enabled = false;
                    m_SceneList.Clear();

                    m_log.Error("[OFFLINE MESSAGING] No message transfer module is enabled. Diabling offline messages");
                }
                m_TransferModule.OnUndeliveredMessage += UndeliveredMessage;
            }
        }
예제 #4
0
 public void Close()
 {
     m_scene = null;
     m_scenes.Clear();
 }
예제 #5
0
 public void Close()
 {
     m_regions.Clear();
 }
예제 #6
0
 public void ResetOverMeRecord()
 {
     primsOverMe.Clear();
 }
예제 #7
0
 /// <summary>
 /// Clear all friends data
 /// </summary>
 /// <remarks>
 /// This is required by unit tests to clear the static data between test runs.
 /// </remarks>
 public static void Clear()
 {
     m_Data.Clear();
 }
예제 #8
0
 public void Clear()
 {
     m_ids.Clear();
     m_items.Clear();
 }
        public void Close()
        {
            m_Scenes.Clear();

            m_UserCache.Clear();
        }