mirror of
https://github.com/opensim/opensim.git
synced 2026-08-05 08:55:56 +08:00
add a Drop method to PollService Event handlers, Drop requests on connections known to be lost or delay event check if they are sending a response
This commit is contained in:
@@ -225,7 +225,7 @@ namespace OpenSim.Region.CoreModules.Scripting.LSLHttp
|
||||
string uri = "/lslhttp/" + urlcode.ToString() + "/";
|
||||
|
||||
PollServiceEventArgs args
|
||||
= new PollServiceEventArgs(HttpRequestHandler, uri, HasEvents, GetEvents, NoEvents, urlcode, 25000);
|
||||
= new PollServiceEventArgs(HttpRequestHandler, uri, HasEvents, GetEvents, NoEvents, Drop, urlcode, 25000);
|
||||
args.Type = PollServiceEventArgs.EventType.LslHttp;
|
||||
m_HttpServer.AddPollServiceHTTPHandler(uri, args);
|
||||
|
||||
@@ -276,7 +276,7 @@ namespace OpenSim.Region.CoreModules.Scripting.LSLHttp
|
||||
string uri = "/lslhttps/" + urlcode.ToString() + "/";
|
||||
|
||||
PollServiceEventArgs args
|
||||
= new PollServiceEventArgs(HttpRequestHandler, uri, HasEvents, GetEvents, NoEvents, urlcode, 25000);
|
||||
= new PollServiceEventArgs(HttpRequestHandler, uri, HasEvents, GetEvents, NoEvents, Drop, urlcode, 25000);
|
||||
args.Type = PollServiceEventArgs.EventType.LslHttp;
|
||||
m_HttpsServer.AddPollServiceHTTPHandler(uri, args);
|
||||
|
||||
@@ -530,6 +530,28 @@ namespace OpenSim.Region.CoreModules.Scripting.LSLHttp
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void Drop(UUID requestID, UUID sessionID)
|
||||
{
|
||||
UrlData url = null;
|
||||
lock (m_RequestMap)
|
||||
{
|
||||
if (m_RequestMap.ContainsKey(requestID))
|
||||
{
|
||||
url = m_RequestMap[requestID];
|
||||
m_RequestMap.Remove(requestID);
|
||||
if(url != null)
|
||||
{
|
||||
lock (url.requests)
|
||||
{
|
||||
if(url.requests.ContainsKey(requestID))
|
||||
url.requests.Remove(requestID);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private Hashtable GetEvents(UUID requestID, UUID sessionID)
|
||||
{
|
||||
UrlData url = null;
|
||||
|
||||
Reference in New Issue
Block a user