Allow setting connection limits, part 2
parent
45fe25de0d
commit
9f93bef111
|
@ -694,6 +694,13 @@ namespace OpenSim.Framework
|
||||||
//
|
//
|
||||||
public static void MakeRequest<TRequest, TResponse>(string verb,
|
public static void MakeRequest<TRequest, TResponse>(string verb,
|
||||||
string requestUrl, TRequest obj, Action<TResponse> action)
|
string requestUrl, TRequest obj, Action<TResponse> action)
|
||||||
|
{
|
||||||
|
MakeRequest<TRequest, TResponse>(verb, requestUrl, obj, action, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void MakeRequest<TRequest, TResponse>(string verb,
|
||||||
|
string requestUrl, TRequest obj, Action<TResponse> action,
|
||||||
|
int maxConnections)
|
||||||
{
|
{
|
||||||
int reqnum = WebUtil.RequestNumber++;
|
int reqnum = WebUtil.RequestNumber++;
|
||||||
// m_log.DebugFormat("[WEB UTIL]: <{0}> start osd request for {1}, method {2}",reqnum,url,method);
|
// m_log.DebugFormat("[WEB UTIL]: <{0}> start osd request for {1}, method {2}",reqnum,url,method);
|
||||||
|
@ -706,6 +713,10 @@ namespace OpenSim.Framework
|
||||||
Type type = typeof(TRequest);
|
Type type = typeof(TRequest);
|
||||||
|
|
||||||
WebRequest request = WebRequest.Create(requestUrl);
|
WebRequest request = WebRequest.Create(requestUrl);
|
||||||
|
HttpWebRequest ht = (HttpWebRequest)request;
|
||||||
|
if (maxConnections > 0 && ht.ServicePoint.ConnectionLimit < maxConnections)
|
||||||
|
ht.ServicePoint.ConnectionLimit = maxConnections;
|
||||||
|
|
||||||
WebResponse response = null;
|
WebResponse response = null;
|
||||||
TResponse deserial = default(TResponse);
|
TResponse deserial = default(TResponse);
|
||||||
XmlSerializer deserializer = new XmlSerializer(typeof(TResponse));
|
XmlSerializer deserializer = new XmlSerializer(typeof(TResponse));
|
||||||
|
@ -1002,6 +1013,11 @@ namespace OpenSim.Framework
|
||||||
}
|
}
|
||||||
|
|
||||||
public static TResponse MakeRequest<TRequest, TResponse>(string verb, string requestUrl, TRequest obj, int pTimeout)
|
public static TResponse MakeRequest<TRequest, TResponse>(string verb, string requestUrl, TRequest obj, int pTimeout)
|
||||||
|
{
|
||||||
|
return MakeRequest<TRequest, TResponse>(verb, requestUrl, obj, pTimeout, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static TResponse MakeRequest<TRequest, TResponse>(string verb, string requestUrl, TRequest obj, int pTimeout, int maxConnections)
|
||||||
{
|
{
|
||||||
int reqnum = WebUtil.RequestNumber++;
|
int reqnum = WebUtil.RequestNumber++;
|
||||||
// m_log.DebugFormat("[WEB UTIL]: <{0}> start osd request for {1}, method {2}",reqnum,url,method);
|
// m_log.DebugFormat("[WEB UTIL]: <{0}> start osd request for {1}, method {2}",reqnum,url,method);
|
||||||
|
@ -1013,6 +1029,10 @@ namespace OpenSim.Framework
|
||||||
TResponse deserial = default(TResponse);
|
TResponse deserial = default(TResponse);
|
||||||
|
|
||||||
WebRequest request = WebRequest.Create(requestUrl);
|
WebRequest request = WebRequest.Create(requestUrl);
|
||||||
|
HttpWebRequest ht = (HttpWebRequest)request;
|
||||||
|
if (maxConnections > 0 && ht.ServicePoint.ConnectionLimit < maxConnections)
|
||||||
|
ht.ServicePoint.ConnectionLimit = maxConnections;
|
||||||
|
|
||||||
request.Method = verb;
|
request.Method = verb;
|
||||||
if (pTimeout != 0)
|
if (pTimeout != 0)
|
||||||
request.Timeout = pTimeout * 1000;
|
request.Timeout = pTimeout * 1000;
|
||||||
|
|
Loading…
Reference in New Issue