aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs
diff options
context:
space:
mode:
authorMelanie2013-06-23 01:59:57 +0100
committerMelanie2013-06-23 01:59:57 +0100
commitf70357eaa355b8c152f3d793d0fceafa14df5fd4 (patch)
treeffda32c340bd7f6d69652e9d9a959c7396f42a2f /OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs
parentMerge branch 'avination-current' into careminster (diff)
parentMerge branch 'master' of melanie@opensimulator.org:/var/git/opensim (diff)
downloadopensim-SC_OLD-f70357eaa355b8c152f3d793d0fceafa14df5fd4.zip
opensim-SC_OLD-f70357eaa355b8c152f3d793d0fceafa14df5fd4.tar.gz
opensim-SC_OLD-f70357eaa355b8c152f3d793d0fceafa14df5fd4.tar.bz2
opensim-SC_OLD-f70357eaa355b8c152f3d793d0fceafa14df5fd4.tar.xz
Merge branch 'master' into careminster
Conflicts: OpenSim/Framework/Monitoring/BaseStatsCollector.cs OpenSim/Region/ClientStack/Linden/Caps/WebFetchInvDescModule.cs OpenSim/Region/CoreModules/Avatar/InstantMessage/OfflineMessageModule.cs OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
Diffstat (limited to 'OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs')
-rw-r--r--OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs30
1 files changed, 25 insertions, 5 deletions
diff --git a/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs b/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs
index d29cc61..80d1080 100644
--- a/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs
+++ b/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs
@@ -54,7 +54,6 @@ namespace OpenSim.Framework.Servers.HttpServer
54 private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); 54 private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
55 private HttpServerLogWriter httpserverlog = new HttpServerLogWriter(); 55 private HttpServerLogWriter httpserverlog = new HttpServerLogWriter();
56 56
57
58 /// <summary> 57 /// <summary>
59 /// This is a pending websocket request before it got an sucessful upgrade response. 58 /// This is a pending websocket request before it got an sucessful upgrade response.
60 /// The consumer must call handler.HandshakeAndUpgrade() to signal to the handler to 59 /// The consumer must call handler.HandshakeAndUpgrade() to signal to the handler to
@@ -81,6 +80,11 @@ namespace OpenSim.Framework.Servers.HttpServer
81 /// </remarks> 80 /// </remarks>
82 public int RequestNumber { get; private set; } 81 public int RequestNumber { get; private set; }
83 82
83 /// <summary>
84 /// Statistic for holding number of requests processed.
85 /// </summary>
86 private Stat m_requestsProcessedStat;
87
84 private volatile int NotSocketErrors = 0; 88 private volatile int NotSocketErrors = 0;
85 public volatile bool HTTPDRunning = false; 89 public volatile bool HTTPDRunning = false;
86 90
@@ -437,9 +441,8 @@ namespace OpenSim.Framework.Servers.HttpServer
437 } 441 }
438 } 442 }
439 443
440 public void OnHandleRequestIOThread(IHttpClientContext context, IHttpRequest request) 444 private void OnHandleRequestIOThread(IHttpClientContext context, IHttpRequest request)
441 { 445 {
442
443 OSHttpRequest req = new OSHttpRequest(context, request); 446 OSHttpRequest req = new OSHttpRequest(context, request);
444 WebSocketRequestDelegate dWebSocketRequestDelegate = null; 447 WebSocketRequestDelegate dWebSocketRequestDelegate = null;
445 lock (m_WebSocketHandlers) 448 lock (m_WebSocketHandlers)
@@ -455,8 +458,7 @@ namespace OpenSim.Framework.Servers.HttpServer
455 458
456 OSHttpResponse resp = new OSHttpResponse(new HttpResponse(context, request),context); 459 OSHttpResponse resp = new OSHttpResponse(new HttpResponse(context, request),context);
457 resp.ReuseContext = true; 460 resp.ReuseContext = true;
458 HandleRequest(req, resp); 461 HandleRequest(req, resp);
459
460 462
461 // !!!HACK ALERT!!! 463 // !!!HACK ALERT!!!
462 // There seems to be a bug in the underlying http code that makes subsequent requests 464 // There seems to be a bug in the underlying http code that makes subsequent requests
@@ -1870,6 +1872,21 @@ namespace OpenSim.Framework.Servers.HttpServer
1870 // useful without inbound HTTP. 1872 // useful without inbound HTTP.
1871 throw e; 1873 throw e;
1872 } 1874 }
1875
1876 m_requestsProcessedStat
1877 = new Stat(
1878 "HTTPRequestsServed",
1879 "Number of inbound HTTP requests processed",
1880 "",
1881 "requests",
1882 "httpserver",
1883 Port.ToString(),
1884 StatType.Pull,
1885 MeasuresOfInterest.AverageChangeOverTime,
1886 stat => stat.Value = RequestNumber,
1887 StatVerbosity.Debug);
1888
1889 StatsManager.RegisterStat(m_requestsProcessedStat);
1873 } 1890 }
1874 1891
1875 public void httpServerDisconnectMonitor(IHttpClientContext source, SocketError err) 1892 public void httpServerDisconnectMonitor(IHttpClientContext source, SocketError err)
@@ -1902,6 +1919,9 @@ namespace OpenSim.Framework.Servers.HttpServer
1902 public void Stop() 1919 public void Stop()
1903 { 1920 {
1904 HTTPDRunning = false; 1921 HTTPDRunning = false;
1922
1923 StatsManager.DeregisterStat(m_requestsProcessedStat);
1924
1905 try 1925 try
1906 { 1926 {
1907 m_PollServiceManager.Stop(); 1927 m_PollServiceManager.Stop();