change event pool timeout handling
							parent
							
								
									43fdbf87d4
								
							
						
					
					
						commit
						50b81258a9
					
				|  | @ -148,6 +148,10 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
|             if (responsedata.ContainsKey("keepalive")) | ||||
|                 response.KeepAlive = (bool)responsedata["keepalive"]; | ||||
| 
 | ||||
|             if (responsedata.ContainsKey("keepaliveTimeout")) | ||||
|                 response.KeepAliveTimeout = (int)responsedata["keepaliveTimeout"]; | ||||
| 
 | ||||
| 
 | ||||
|             if (responsedata.ContainsKey("prio")) | ||||
|                 response.Priority = (int)responsedata["prio"]; | ||||
| 
 | ||||
|  |  | |||
|  | @ -65,13 +65,6 @@ namespace OpenSim.Region.ClientStack.Linden | |||
|         /// </value> | ||||
|         public int DebugLevel { get; set; } | ||||
| 
 | ||||
|         // Viewer post requests timeout in 60 secs | ||||
|         // https://bitbucket.org/lindenlab/viewer-release/src/421c20423df93d650cc305dc115922bb30040999/indra/llmessage/llhttpclient.cpp?at=default#cl-44 | ||||
|         // | ||||
|         private const int VIEWER_TIMEOUT = 60 * 1000; | ||||
|         // Just to be safe, we work on a 10 sec shorter cycle | ||||
|         private const int SERVER_EQ_TIME_NO_EVENTS = VIEWER_TIMEOUT - (10 * 1000); | ||||
| 
 | ||||
|         protected Scene m_scene; | ||||
| 
 | ||||
|         private Dictionary<UUID, int> m_ids = new Dictionary<UUID, int>(); | ||||
|  | @ -363,7 +356,7 @@ namespace OpenSim.Region.ClientStack.Linden | |||
| 
 | ||||
|         caps.RegisterPollHandler( | ||||
|             "EventQueueGet", | ||||
|                 new PollServiceEventArgs(null, GenerateEqgCapPath(eventQueueGetUUID), HasEvents, GetEvents, NoEvents, Drop, agentID, SERVER_EQ_TIME_NO_EVENTS)); | ||||
|                 new PollServiceEventArgs(null, GenerateEqgCapPath(eventQueueGetUUID), HasEvents, GetEvents, NoEvents, Drop, agentID, int.MaxValue)); | ||||
|         } | ||||
| 
 | ||||
|         public bool HasEvents(UUID requestID, UUID agentID) | ||||
|  | @ -396,7 +389,7 @@ namespace OpenSim.Region.ClientStack.Linden | |||
|         } | ||||
|         public void Drop(UUID requestID, UUID pAgentId) | ||||
|         { | ||||
|             // do nothing for now, hope client close will do it | ||||
|             // do nothing, in last case http server will do it | ||||
|         } | ||||
| 
 | ||||
|         public Hashtable GetEvents(UUID requestID, UUID pAgentId) | ||||
|  | @ -464,7 +457,7 @@ namespace OpenSim.Region.ClientStack.Linden | |||
|             responsedata["content_type"] = "application/xml"; | ||||
| //string tt = OSDParser.SerializeLLSDXmlString(events); | ||||
|             responsedata["bin_response_data"] = Encoding.UTF8.GetBytes(OSDParser.SerializeLLSDXmlString(events)); | ||||
| 
 | ||||
|             responsedata["keepaliveTimeout"] = 60; | ||||
|             //m_log.DebugFormat("[EVENTQUEUE]: sending response for {0} in region {1}: {2}", pAgentId, m_scene.RegionInfo.RegionName, responsedata["str_response_string"]); | ||||
|             return responsedata; | ||||
|         } | ||||
|  | @ -476,7 +469,6 @@ namespace OpenSim.Region.ClientStack.Linden | |||
|             responsedata["content_type"] = "text/plain"; | ||||
|             responsedata["str_response_string"] = "<llsd></llsd>"; | ||||
|             responsedata["error_status_text"] = "<llsd></llsd>"; | ||||
|             responsedata["http_protocol_version"] = "HTTP/1.0"; | ||||
|             responsedata["keepalive"] = false; | ||||
|             return responsedata; | ||||
|         } | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 UbitUmarov
						UbitUmarov