From 67e12b95ea7b68f4904a7484d77ecfd787d16d0c Mon Sep 17 00:00:00 2001 From: lbsa71 Date: Tue, 30 Oct 2007 09:05:31 +0000 Subject: * Optimized usings * Shortened type references * Removed redundant 'this' qualifier --- .../ScriptEngine/DotNetEngine/LSLLongCmdHandler.cs | 74 ++++++++++++---------- 1 file changed, 40 insertions(+), 34 deletions(-) (limited to 'OpenSim/Region/ScriptEngine/DotNetEngine/LSLLongCmdHandler.cs') diff --git a/OpenSim/Region/ScriptEngine/DotNetEngine/LSLLongCmdHandler.cs b/OpenSim/Region/ScriptEngine/DotNetEngine/LSLLongCmdHandler.cs index e6c2c47..5061629 100644 --- a/OpenSim/Region/ScriptEngine/DotNetEngine/LSLLongCmdHandler.cs +++ b/OpenSim/Region/ScriptEngine/DotNetEngine/LSLLongCmdHandler.cs @@ -28,24 +28,23 @@ using System; using System.Collections.Generic; -using System.Text; using System.Threading; using libsecondlife; -using OpenSim.Region.ScriptEngine.Common; -using OpenSim.Region.Environment.Modules; using OpenSim.Region.Environment.Interfaces; +using OpenSim.Region.Environment.Modules; namespace OpenSim.Region.ScriptEngine.DotNetEngine { /// /// Handles LSL commands that takes long time and returns an event, for example timers, HTTP requests, etc. /// - class LSLLongCmdHandler + internal class LSLLongCmdHandler { private Thread cmdHandlerThread; private int cmdHandlerThreadCycleSleepms = 100; private ScriptEngine m_ScriptEngine; + public LSLLongCmdHandler(ScriptEngine _ScriptEngine) { m_ScriptEngine = _ScriptEngine; @@ -56,8 +55,8 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine cmdHandlerThread.Priority = ThreadPriority.BelowNormal; cmdHandlerThread.IsBackground = true; cmdHandlerThread.Start(); - } + ~LSLLongCmdHandler() { // Shut down thread @@ -72,7 +71,9 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine } } } - catch { } + catch + { + } } private void CmdHandlerThreadLoop() @@ -124,8 +125,10 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine public double interval; public DateTime next; } + private List Timers = new List(); private object TimerListLock = new object(); + public void SetTimerEvent(uint m_localID, LLUUID m_itemID, double sec) { Console.WriteLine("SetTimerEvent"); @@ -146,6 +149,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine Timers.Add(ts); } } + public void UnSetTimerEvents(uint m_localID, LLUUID m_itemID) { // Remove from timer @@ -163,6 +167,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine Timers = NewTimers; } } + public void CheckTimerEvents() { // Nothing to do here? @@ -171,7 +176,6 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine lock (TimerListLock) { - // Go through all timers foreach (TimerClass ts in Timers) { @@ -179,7 +183,8 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine if (ts.next.ToUniversalTime() < DateTime.Now.ToUniversalTime()) { // Add it to queue - m_ScriptEngine.m_EventQueueManager.AddToScriptQueue(ts.localID, ts.itemID, "timer", new object[] { }); + m_ScriptEngine.m_EventQueueManager.AddToScriptQueue(ts.localID, ts.itemID, "timer", + new object[] {}); // set next interval @@ -188,6 +193,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine } } // lock } + #endregion #region HTTP REQUEST @@ -213,10 +219,12 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine { // TODO: SEND REQUEST!!! } + public void Stop() { // TODO: Cancel any ongoing request } + public bool CheckResponse() { // TODO: Check if we got a response yet, return true if so -- false if not @@ -227,11 +235,12 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine //response_status //response_metadata //response_body - } } + private List HttpRequests = new List(); private object HttpListLock = new object(); + public void StartHttpRequest(uint localID, LLUUID itemID, string url, List parameters, string body) { Console.WriteLine("StartHttpRequest"); @@ -244,11 +253,11 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine htc.body = body; lock (HttpListLock) { - //ADD REQUEST HttpRequests.Add(htc); } } + public void StopHttpRequest(uint m_localID, LLUUID m_itemID) { // Remove from list @@ -272,6 +281,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine HttpRequests = NewHttpList; } } + public void CheckHttpRequests() { // Nothing to do here? @@ -282,68 +292,64 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine { foreach (HttpClass ts in HttpRequests) { - if (ts.CheckResponse() == true) { // Add it to event queue //key request_id, integer status, list metadata, string body - object[] resobj = new object[] { ts.response_request_id, ts.response_status, ts.response_metadata, ts.response_body }; - m_ScriptEngine.m_EventQueueManager.AddToScriptQueue(ts.localID, ts.itemID, "http_response", resobj); + object[] resobj = + new object[] + {ts.response_request_id, ts.response_status, ts.response_metadata, ts.response_body}; + m_ScriptEngine.m_EventQueueManager.AddToScriptQueue(ts.localID, ts.itemID, "http_response", + resobj); // Now stop it StopHttpRequest(ts.localID, ts.itemID); } } } // lock } + #endregion public void CheckXMLRPCRequests() { - IXMLRPC xmlrpc = m_ScriptEngine.World.RequestModuleInterface(); while (xmlrpc.hasRequests()) { RPCRequestInfo rInfo = xmlrpc.GetNextRequest(); - System.Console.WriteLine("PICKED REQUEST"); + Console.WriteLine("PICKED REQUEST"); //Deliver data to prim's remote_data handler - object[] resobj = new object[] { - 2, rInfo.GetChannelKey().ToString(), rInfo.GetMessageID().ToString(), "", rInfo.GetIntValue(), rInfo.GetStrVal() - }; + object[] resobj = new object[] + { + 2, rInfo.GetChannelKey().ToString(), rInfo.GetMessageID().ToString(), "", rInfo.GetIntValue(), + rInfo.GetStrVal() + }; m_ScriptEngine.m_EventQueueManager.AddToScriptQueue( rInfo.GetLocalID(), rInfo.GetItemID(), "remote_data", resobj - ); - + ); } - } public void CheckListeners() { - IWorldComm comms = m_ScriptEngine.World.RequestModuleInterface(); while (comms.HasMessages()) { ListenerInfo lInfo = comms.GetNextMessage(); - System.Console.WriteLine("PICKED LISTENER"); + Console.WriteLine("PICKED LISTENER"); //Deliver data to prim's listen handler - object[] resobj = new object[] { - lInfo.GetChannel(), lInfo.GetName(), lInfo.GetID().ToString(), lInfo.GetMessage() - }; + object[] resobj = new object[] + { + lInfo.GetChannel(), lInfo.GetName(), lInfo.GetID().ToString(), lInfo.GetMessage() + }; m_ScriptEngine.m_EventQueueManager.AddToScriptQueue( lInfo.GetLocalID(), lInfo.GetItemID(), "listen", resobj - ); - + ); } - } - - - - } -} +} \ No newline at end of file -- cgit v1.1