From 7e3eba1064197024690c5b3cae4c2cf87319e48c Mon Sep 17 00:00:00 2001
From: UbitUmarov
Date: Wed, 26 Sep 2012 15:41:57 +0100
Subject:  Seems nothing actually need the request body for getevents. so
 change  control flag to false

---
 OpenSim/Framework/Servers/HttpServer/PollServiceEventArgs.cs | 10 ++++++++--
 .../Servers/HttpServer/PollServiceRequestManager.cs          |  3 ++-
 OpenSim/Region/ClientStack/Linden/Caps/GetTextureModule.cs   | 12 ++----------
 .../Region/ClientStack/Linden/Caps/WebFetchInvDescModule.cs  |  1 -
 OpenSim/Region/CoreModules/Scripting/LSLHttp/UrlModule.cs    |  1 -
 5 files changed, 12 insertions(+), 15 deletions(-)

(limited to 'OpenSim')

diff --git a/OpenSim/Framework/Servers/HttpServer/PollServiceEventArgs.cs b/OpenSim/Framework/Servers/HttpServer/PollServiceEventArgs.cs
index 9b27a6e..f85509a 100644
--- a/OpenSim/Framework/Servers/HttpServer/PollServiceEventArgs.cs
+++ b/OpenSim/Framework/Servers/HttpServer/PollServiceEventArgs.cs
@@ -46,8 +46,14 @@ namespace OpenSim.Framework.Servers.HttpServer
         public RequestMethod Request;
         public UUID Id;
         public int TimeOutms;
-        public EventType Type;
-        public bool GetEventsNeedsRequest = true;
+        public EventType Type;    
+        // must be set true for cases where GetEvents needs to access the request body
+        // at each pool. http can start processing before having the full body
+        // but not sure if this is active for poll events
+        // if original coder thinked its needed i keep it
+        // if the Event has a Request method this seems to smoke for now
+        // seems for now nothing actually uses this so default to false
+        public bool GetEventsNeedsRequestBody = false;
 
         public enum EventType : int
         {
diff --git a/OpenSim/Framework/Servers/HttpServer/PollServiceRequestManager.cs b/OpenSim/Framework/Servers/HttpServer/PollServiceRequestManager.cs
index cc9ddc2..c379747 100644
--- a/OpenSim/Framework/Servers/HttpServer/PollServiceRequestManager.cs
+++ b/OpenSim/Framework/Servers/HttpServer/PollServiceRequestManager.cs
@@ -337,10 +337,11 @@ namespace OpenSim.Framework.Servers.HttpServer
                         if (req.PollServiceArgs.HasEvents(req.RequestID, req.PollServiceArgs.Id))
                         {
                             string strreq = "";
-                            if (req.PollServiceArgs.GetEventsNeedsRequest)
+                            if (req.PollServiceArgs.GetEventsNeedsRequestBody)
                             {
                                 try
                                 {
+                                    // should we try to seek back? fear we can't
                                     str = new StreamReader(req.Request.Body);
                                     strreq = str.ReadToEnd();
                                     str.Close();
diff --git a/OpenSim/Region/ClientStack/Linden/Caps/GetTextureModule.cs b/OpenSim/Region/ClientStack/Linden/Caps/GetTextureModule.cs
index 8a607fb..5169f65 100644
--- a/OpenSim/Region/ClientStack/Linden/Caps/GetTextureModule.cs
+++ b/OpenSim/Region/ClientStack/Linden/Caps/GetTextureModule.cs
@@ -151,12 +151,7 @@ namespace OpenSim.Region.ClientStack.Linden
             private Scene m_scene;
 
             public PollServiceTextureEventArgs(UUID pId, Scene scene) :
-                    base(null, null, null, null, pId, int.MaxValue)
-                // this should never timeout
-                // each request must be processed and return a response
-                // noevents can possible be use for nice shutdown, but not sure now
-                // the execution will provide a proper response even if it fails
-                
+                    base(null, null, null, null, pId, int.MaxValue)              
             {
                 m_scene = scene;
 
@@ -219,7 +214,6 @@ namespace OpenSim.Region.ClientStack.Linden
                 UUID requestID = requestinfo.reqID;
 
                 // If the avatar is gone, don't bother to get the texture
-               
                 if (m_scene.GetScenePresence(Id) == null)
                 {
                     response = new Hashtable();
@@ -246,12 +240,10 @@ namespace OpenSim.Region.ClientStack.Linden
         {
             string capUrl = "/CAPS/" + UUID.Random() + "/";
 
-            // Register this as a poll service
-            // absurd large timeout to tune later to make a bit less than viewer
+            // Register this as a poll service           
             PollServiceTextureEventArgs args = new PollServiceTextureEventArgs(agentID, m_scene);
             
             args.Type = PollServiceEventArgs.EventType.Texture;
-            args.GetEventsNeedsRequest = false;
             MainServer.Instance.AddPollServiceHTTPHandler(capUrl, args);
 
             string hostName = m_scene.RegionInfo.ExternalHostName;
diff --git a/OpenSim/Region/ClientStack/Linden/Caps/WebFetchInvDescModule.cs b/OpenSim/Region/ClientStack/Linden/Caps/WebFetchInvDescModule.cs
index 56070c6..0f305b1 100644
--- a/OpenSim/Region/ClientStack/Linden/Caps/WebFetchInvDescModule.cs
+++ b/OpenSim/Region/ClientStack/Linden/Caps/WebFetchInvDescModule.cs
@@ -223,7 +223,6 @@ namespace OpenSim.Region.ClientStack.Linden
             PollServiceInventoryEventArgs args = new PollServiceInventoryEventArgs(agentID);
             
             args.Type = PollServiceEventArgs.EventType.Inventory;
-            args.GetEventsNeedsRequest = false;
             MainServer.Instance.AddPollServiceHTTPHandler(capUrl, args);
 
             string hostName = m_scene.RegionInfo.ExternalHostName;
diff --git a/OpenSim/Region/CoreModules/Scripting/LSLHttp/UrlModule.cs b/OpenSim/Region/CoreModules/Scripting/LSLHttp/UrlModule.cs
index d4a4832..13762f7 100644
--- a/OpenSim/Region/CoreModules/Scripting/LSLHttp/UrlModule.cs
+++ b/OpenSim/Region/CoreModules/Scripting/LSLHttp/UrlModule.cs
@@ -186,7 +186,6 @@ namespace OpenSim.Region.CoreModules.Scripting.LSLHttp
                
                 PollServiceEventArgs args = new PollServiceEventArgs(HttpRequestHandler, HasEvents, GetEvents, NoEvents, urlcode, 25000);
                 args.Type = PollServiceEventArgs.EventType.LslHttp;
-                args.GetEventsNeedsRequest = false;
                 m_HttpServer.AddPollServiceHTTPHandler(uri, args);
 
 //                m_log.DebugFormat(
-- 
cgit v1.1