From fa59cddc28c107e47f8549b3944fa5f14f561926 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 25 Jul 2014 13:03:40 +0100 Subject: [PATCH] remove old and dead code that its only making it hard to understand --- .../Caps/EventQueue/EventQueueGetModule.cs | 305 ++---------------- 1 file changed, 18 insertions(+), 287 deletions(-) diff --git a/OpenSim/Region/ClientStack/Linden/Caps/EventQueue/EventQueueGetModule.cs b/OpenSim/Region/ClientStack/Linden/Caps/EventQueue/EventQueueGetModule.cs index 4a2ac86e0c..ddae267a2d 100644 --- a/OpenSim/Region/ClientStack/Linden/Caps/EventQueue/EventQueueGetModule.cs +++ b/OpenSim/Region/ClientStack/Linden/Caps/EventQueue/EventQueueGetModule.cs @@ -77,7 +77,6 @@ namespace OpenSim.Region.ClientStack.Linden private Dictionary m_ids = new Dictionary(); private Dictionary> queues = new Dictionary>(); - private Dictionary m_QueueUUIDAvatarMapping = new Dictionary(); private Dictionary m_AvatarQueueUUIDMapping = new Dictionary(); #region INonSharedRegionModule methods @@ -254,28 +253,13 @@ namespace OpenSim.Region.ClientStack.Linden lock (queues) queues.Remove(agentID); - List removeitems = new List(); lock (m_AvatarQueueUUIDMapping) m_AvatarQueueUUIDMapping.Remove(agentID); - UUID searchval = UUID.Zero; - - removeitems.Clear(); - - lock (m_QueueUUIDAvatarMapping) + lock (m_ids) { - foreach (UUID ky in m_QueueUUIDAvatarMapping.Keys) - { - searchval = m_QueueUUIDAvatarMapping[ky]; - - if (searchval == agentID) - { - removeitems.Add(ky); - } - } - - foreach (UUID ky in removeitems) - m_QueueUUIDAvatarMapping.Remove(ky); + if (!m_ids.ContainsKey(agentID)) + m_ids.Remove(agentID); } // m_log.DebugFormat("[EVENTQUEUE]: Deleted queues for {0} in region {1}", agentID, m_scene.RegionInfo.RegionName); @@ -307,28 +291,18 @@ namespace OpenSim.Region.ClientStack.Linden lock (m_AvatarQueueUUIDMapping) { // Reuse open queues. The client does! -// if (m_AvatarQueueUUIDMapping.ContainsKey(agentID)) -// { - //m_log.DebugFormat("[EVENTQUEUE]: Found Existing UUID!"); -// eventQueueGetUUID = m_AvatarQueueUUIDMapping[agentID]; -// } -// else + // Its reuse caps path not queues those are been reused already + if (m_AvatarQueueUUIDMapping.ContainsKey(agentID)) + { + m_log.DebugFormat("[EVENTQUEUE]: Found Existing UUID!"); + eventQueueGetUUID = m_AvatarQueueUUIDMapping[agentID]; + } + else { eventQueueGetUUID = UUID.Random(); - //m_log.DebugFormat("[EVENTQUEUE]: Using random UUID!"); - } - } - - lock (m_QueueUUIDAvatarMapping) - { - if (!m_QueueUUIDAvatarMapping.ContainsKey(eventQueueGetUUID)) - m_QueueUUIDAvatarMapping.Add(eventQueueGetUUID, agentID); - } - - lock (m_AvatarQueueUUIDMapping) - { - if (!m_AvatarQueueUUIDMapping.ContainsKey(agentID)) m_AvatarQueueUUIDMapping.Add(agentID, eventQueueGetUUID); + m_log.DebugFormat("[EVENTQUEUE]: Using random UUID!"); + } } caps.RegisterPollHandler( @@ -336,10 +310,14 @@ namespace OpenSim.Region.ClientStack.Linden new PollServiceEventArgs(null, GenerateEqgCapPath(eventQueueGetUUID), HasEvents, GetEvents, NoEvents, agentID, SERVER_EQ_TIME_NO_EVENTS)); Random rnd = new Random(Environment.TickCount); + int nrnd = rnd.Next(30000000); + lock (m_ids) { if (!m_ids.ContainsKey(agentID)) - m_ids.Add(agentID, rnd.Next(30000000)); + m_ids.Add(agentID, nrnd); + else + m_ids[agentID] = nrnd; } } @@ -455,254 +433,7 @@ namespace OpenSim.Region.ClientStack.Linden return responsedata; } -// public Hashtable ProcessQueue(Hashtable request, UUID agentID, Caps caps) -// { -// // TODO: this has to be redone to not busy-wait (and block the thread), -// // TODO: as soon as we have a non-blocking way to handle HTTP-requests. -// -//// if (m_log.IsDebugEnabled) -//// { -//// String debug = "[EVENTQUEUE]: Got request for agent {0} in region {1} from thread {2}: [ "; -//// foreach (object key in request.Keys) -//// { -//// debug += key.ToString() + "=" + request[key].ToString() + " "; -//// } -//// m_log.DebugFormat(debug + " ]", agentID, m_scene.RegionInfo.RegionName, System.Threading.Thread.CurrentThread.Name); -//// } -// -// Queue queue = TryGetQueue(agentID); -// OSD element; -// -// lock (queue) -// element = queue.Dequeue(); // 15s timeout -// -// Hashtable responsedata = new Hashtable(); -// -// int thisID = 0; -// lock (m_ids) -// thisID = m_ids[agentID]; -// -// if (element == null) -// { -// //m_log.ErrorFormat("[EVENTQUEUE]: Nothing to process in " + m_scene.RegionInfo.RegionName); -// if (thisID == -1) // close-request -// { -// m_log.ErrorFormat("[EVENTQUEUE]: 404 in " + m_scene.RegionInfo.RegionName); -// responsedata["int_response_code"] = 404; //501; //410; //404; -// responsedata["content_type"] = "text/plain"; -// responsedata["keepalive"] = false; -// responsedata["str_response_string"] = "Closed EQG"; -// return responsedata; -// } -// responsedata["int_response_code"] = 502; -// responsedata["content_type"] = "text/plain"; -// responsedata["keepalive"] = false; -// responsedata["str_response_string"] = "Upstream error: "; -// responsedata["error_status_text"] = "Upstream error:"; -// responsedata["http_protocol_version"] = "HTTP/1.0"; -// return responsedata; -// } -// -// OSDArray array = new OSDArray(); -// if (element == null) // didn't have an event in 15s -// { -// // Send it a fake event to keep the client polling! It doesn't like 502s like the proxys say! -// array.Add(EventQueueHelper.KeepAliveEvent()); -// //m_log.DebugFormat("[EVENTQUEUE]: adding fake event for {0} in region {1}", agentID, m_scene.RegionInfo.RegionName); -// } -// else -// { -// array.Add(element); -// -// if (element is OSDMap) -// { -// OSDMap ev = (OSDMap)element; -// m_log.DebugFormat( -// "[EVENT QUEUE GET MODULE]: Eq OUT {0} to {1}", -// ev["message"], m_scene.GetScenePresence(agentID).Name); -// } -// -// lock (queue) -// { -// while (queue.Count > 0) -// { -// element = queue.Dequeue(); -// -// if (element is OSDMap) -// { -// OSDMap ev = (OSDMap)element; -// m_log.DebugFormat( -// "[EVENT QUEUE GET MODULE]: Eq OUT {0} to {1}", -// ev["message"], m_scene.GetScenePresence(agentID).Name); -// } -// -// array.Add(element); -// thisID++; -// } -// } -// } -// -// OSDMap events = new OSDMap(); -// events.Add("events", array); -// -// events.Add("id", new OSDInteger(thisID)); -// lock (m_ids) -// { -// m_ids[agentID] = thisID + 1; -// } -// -// responsedata["int_response_code"] = 200; -// responsedata["content_type"] = "application/xml"; -// responsedata["keepalive"] = false; -// responsedata["str_response_string"] = OSDParser.SerializeLLSDXmlString(events); -// -// m_log.DebugFormat("[EVENTQUEUE]: sending response for {0} in region {1}: {2}", agentID, m_scene.RegionInfo.RegionName, responsedata["str_response_string"]); -// -// return responsedata; -// } - -// public Hashtable EventQueuePath2(Hashtable request) -// { -// string capuuid = (string)request["uri"]; //path.Replace("/CAPS/EQG/",""); -// // pull off the last "/" in the path. -// Hashtable responsedata = new Hashtable(); -// capuuid = capuuid.Substring(0, capuuid.Length - 1); -// capuuid = capuuid.Replace("/CAPS/EQG/", ""); -// UUID AvatarID = UUID.Zero; -// UUID capUUID = UUID.Zero; -// -// // parse the path and search for the avatar with it registered -// if (UUID.TryParse(capuuid, out capUUID)) -// { -// lock (m_QueueUUIDAvatarMapping) -// { -// if (m_QueueUUIDAvatarMapping.ContainsKey(capUUID)) -// { -// AvatarID = m_QueueUUIDAvatarMapping[capUUID]; -// } -// } -// -// if (AvatarID != UUID.Zero) -// { -// return ProcessQueue(request, AvatarID, m_scene.CapsModule.GetCapsForUser(AvatarID)); -// } -// else -// { -// responsedata["int_response_code"] = 404; -// responsedata["content_type"] = "text/plain"; -// responsedata["keepalive"] = false; -// responsedata["str_response_string"] = "Not Found"; -// responsedata["error_status_text"] = "Not Found"; -// responsedata["http_protocol_version"] = "HTTP/1.0"; -// return responsedata; -// // return 404 -// } -// } -// else -// { -// responsedata["int_response_code"] = 404; -// responsedata["content_type"] = "text/plain"; -// responsedata["keepalive"] = false; -// responsedata["str_response_string"] = "Not Found"; -// responsedata["error_status_text"] = "Not Found"; -// responsedata["http_protocol_version"] = "HTTP/1.0"; -// return responsedata; -// // return 404 -// } -// } - - public OSD EventQueueFallBack(string path, OSD request, string endpoint) - { - // This is a fallback element to keep the client from loosing EventQueueGet - // Why does CAPS fail sometimes!? - m_log.Warn("[EVENTQUEUE]: In the Fallback handler! We lost the Queue in the rest handler!"); - string capuuid = path.Replace("/CAPS/EQG/",""); - capuuid = capuuid.Substring(0, capuuid.Length - 1); - -// UUID AvatarID = UUID.Zero; - UUID capUUID = UUID.Zero; - if (UUID.TryParse(capuuid, out capUUID)) - { -/* Don't remove this yet code cleaners! - * Still testing this! - * - lock (m_QueueUUIDAvatarMapping) - { - if (m_QueueUUIDAvatarMapping.ContainsKey(capUUID)) - { - AvatarID = m_QueueUUIDAvatarMapping[capUUID]; - } - } - - - if (AvatarID != UUID.Zero) - { - // Repair the CAP! - //OpenSim.Framework.Capabilities.Caps caps = m_scene.GetCapsHandlerForUser(AvatarID); - //string capsBase = "/CAPS/EQG/"; - //caps.RegisterHandler("EventQueueGet", - //new RestHTTPHandler("POST", capsBase + capUUID.ToString() + "/", - //delegate(Hashtable m_dhttpMethod) - //{ - // return ProcessQueue(m_dhttpMethod, AvatarID, caps); - //})); - // start new ID sequence. - Random rnd = new Random(System.Environment.TickCount); - lock (m_ids) - { - if (!m_ids.ContainsKey(AvatarID)) - m_ids.Add(AvatarID, rnd.Next(30000000)); - } - - - int thisID = 0; - lock (m_ids) - thisID = m_ids[AvatarID]; - - BlockingLLSDQueue queue = GetQueue(AvatarID); - OSDArray array = new OSDArray(); - LLSD element = queue.Dequeue(15000); // 15s timeout - if (element == null) - { - - array.Add(EventQueueHelper.KeepAliveEvent()); - } - else - { - array.Add(element); - while (queue.Count() > 0) - { - array.Add(queue.Dequeue(1)); - thisID++; - } - } - OSDMap events = new OSDMap(); - events.Add("events", array); - - events.Add("id", new LLSDInteger(thisID)); - - lock (m_ids) - { - m_ids[AvatarID] = thisID + 1; - } - - return events; - } - else - { - return new LLSD(); - } -* -*/ - } - else - { - //return new LLSD(); - } - - return new OSDString("shutdown404!"); - } - + public void DisableSimulator(ulong handle, UUID avatarID) { OSD item = EventQueueHelper.DisableSimulator(handle);