private bool EnqueueWithPriority(OSD ev, UUID avatarID, bool highPriority) { EventQueueGetRequestHandler queue = null; //m_log.DebugFormat("[EVENTQUEUE]: Enqueuing event for {0} in region {1}", avatarID, m_scene.RegionInfo.RegionName); lock (queues) { if (queues.TryGetValue(avatarID, out queue) != true) { m_log.ErrorFormat("[EVENTQUEUE]: Could not enqueue request for {0}, queue for avatar not found", avatarID); return(false); } } queue.Enqueue(ev, highPriority); return(true); }
public void OnRegisterCaps(UUID agentID, Caps caps) { m_log.DebugFormat("[EVENTQUEUE]: Register caps for client {0} in region {1}", agentID, m_Scene.RegionInfo.RegionName); lock (queues) { EventQueueGetRequestHandler queue; if (queues.TryGetValue(agentID, out queue) == true) { // shouldn't happen m_log.ErrorFormat("[EVENTQUEUE]: OnRegisterCaps and an EQ already exists for client {0} in region {1}!", agentID, m_Scene.RegionInfo.RegionName); } else { string capsUrl = "/CAPS/EQG/" + UUID.Random().ToString() + "/"; queue = new EventQueueGetRequestHandler("POST", capsUrl, agentID, caps, DebugLevel); queues.Add(agentID, queue); } caps.RegisterHandler("EventQueueGet", queue); } }