* Add a session concurrency option per key. Allows developer/config to specify number of concurrent requests on a service.

This commit is contained in:
teravus
2013-10-09 22:21:25 -05:00
parent e7ea053c4a
commit 75f63ecfcd
4 changed files with 102 additions and 23 deletions

View File

@@ -55,12 +55,14 @@ namespace OpenSim.Framework.Servers.HttpServer
{
byte[] result;
RequestsReceived++;
if (_dosProtector.Process(GetClientString(httpRequest), GetRemoteAddr(httpRequest)))
string clientstring = GetClientString(httpRequest);
string endpoint = GetRemoteAddr(httpRequest);
if (_dosProtector.Process(clientstring, endpoint))
result = ProcessRequest(path, request, httpRequest, httpResponse);
else
result = ThrottledRequest(path, request, httpRequest, httpResponse);
if (_options.MaxConcurrentSessions > 0)
_dosProtector.ProcessEnd(clientstring, endpoint);
RequestsHandled++;