diff options
author | Melanie | 2013-06-23 01:49:45 +0100 |
---|---|---|
committer | Melanie | 2013-06-23 01:49:45 +0100 |
commit | 936700bda3969bc54166f0d6a3ca81e3d5c42935 (patch) | |
tree | 6bb97abf25f4a3f22ccb40e3b4be20c551327b09 /OpenSim/Framework/Servers/HttpServer | |
parent | Fix prim locking to behave like SL (diff) | |
parent | Merge branch 'master' of ssh://opensimulator.org/var/git/opensim (diff) | |
download | opensim-SC-936700bda3969bc54166f0d6a3ca81e3d5c42935.zip opensim-SC-936700bda3969bc54166f0d6a3ca81e3d5c42935.tar.gz opensim-SC-936700bda3969bc54166f0d6a3ca81e3d5c42935.tar.bz2 opensim-SC-936700bda3969bc54166f0d6a3ca81e3d5c42935.tar.xz |
Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs | 30 | ||||
-rw-r--r-- | OpenSim/Framework/Servers/HttpServer/WebsocketServerHandler.cs | 20 |
2 files changed, 32 insertions, 18 deletions
diff --git a/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs b/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs index 96a030b..40b8c5c 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 | ||
@@ -436,9 +440,8 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
436 | } | 440 | } |
437 | } | 441 | } |
438 | 442 | ||
439 | public void OnHandleRequestIOThread(IHttpClientContext context, IHttpRequest request) | 443 | private void OnHandleRequestIOThread(IHttpClientContext context, IHttpRequest request) |
440 | { | 444 | { |
441 | |||
442 | OSHttpRequest req = new OSHttpRequest(context, request); | 445 | OSHttpRequest req = new OSHttpRequest(context, request); |
443 | WebSocketRequestDelegate dWebSocketRequestDelegate = null; | 446 | WebSocketRequestDelegate dWebSocketRequestDelegate = null; |
444 | lock (m_WebSocketHandlers) | 447 | lock (m_WebSocketHandlers) |
@@ -454,8 +457,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
454 | 457 | ||
455 | OSHttpResponse resp = new OSHttpResponse(new HttpResponse(context, request),context); | 458 | OSHttpResponse resp = new OSHttpResponse(new HttpResponse(context, request),context); |
456 | resp.ReuseContext = true; | 459 | resp.ReuseContext = true; |
457 | HandleRequest(req, resp); | 460 | HandleRequest(req, resp); |
458 | |||
459 | 461 | ||
460 | // !!!HACK ALERT!!! | 462 | // !!!HACK ALERT!!! |
461 | // There seems to be a bug in the underlying http code that makes subsequent requests | 463 | // There seems to be a bug in the underlying http code that makes subsequent requests |
@@ -1824,6 +1826,21 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
1824 | // useful without inbound HTTP. | 1826 | // useful without inbound HTTP. |
1825 | throw e; | 1827 | throw e; |
1826 | } | 1828 | } |
1829 | |||
1830 | m_requestsProcessedStat | ||
1831 | = new Stat( | ||
1832 | "HTTPRequestsServed", | ||
1833 | "Number of inbound HTTP requests processed", | ||
1834 | "", | ||
1835 | "requests", | ||
1836 | "httpserver", | ||
1837 | Port.ToString(), | ||
1838 | StatType.Pull, | ||
1839 | MeasuresOfInterest.AverageChangeOverTime, | ||
1840 | stat => stat.Value = RequestNumber, | ||
1841 | StatVerbosity.Debug); | ||
1842 | |||
1843 | StatsManager.RegisterStat(m_requestsProcessedStat); | ||
1827 | } | 1844 | } |
1828 | 1845 | ||
1829 | public void httpServerDisconnectMonitor(IHttpClientContext source, SocketError err) | 1846 | public void httpServerDisconnectMonitor(IHttpClientContext source, SocketError err) |
@@ -1854,6 +1871,9 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
1854 | public void Stop() | 1871 | public void Stop() |
1855 | { | 1872 | { |
1856 | HTTPDRunning = false; | 1873 | HTTPDRunning = false; |
1874 | |||
1875 | StatsManager.DeregisterStat(m_requestsProcessedStat); | ||
1876 | |||
1857 | try | 1877 | try |
1858 | { | 1878 | { |
1859 | m_PollServiceManager.Stop(); | 1879 | m_PollServiceManager.Stop(); |
diff --git a/OpenSim/Framework/Servers/HttpServer/WebsocketServerHandler.cs b/OpenSim/Framework/Servers/HttpServer/WebsocketServerHandler.cs index ee96b47..de89e2e 100644 --- a/OpenSim/Framework/Servers/HttpServer/WebsocketServerHandler.cs +++ b/OpenSim/Framework/Servers/HttpServer/WebsocketServerHandler.cs | |||
@@ -75,7 +75,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
75 | /// <summary> | 75 | /// <summary> |
76 | /// This is a regular HTTP Request... This may be removed in the future. | 76 | /// This is a regular HTTP Request... This may be removed in the future. |
77 | /// </summary> | 77 | /// </summary> |
78 | public event RegularHttpRequestDelegate OnRegularHttpRequest; | 78 | // public event RegularHttpRequestDelegate OnRegularHttpRequest; |
79 | 79 | ||
80 | /// <summary> | 80 | /// <summary> |
81 | /// When the upgrade from a HTTP request to a Websocket is completed, this will be fired | 81 | /// When the upgrade from a HTTP request to a Websocket is completed, this will be fired |
@@ -304,15 +304,14 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
304 | if (d != null) | 304 | if (d != null) |
305 | d(this, new UpgradeCompletedEventArgs()); | 305 | d(this, new UpgradeCompletedEventArgs()); |
306 | } | 306 | } |
307 | catch (IOException fail) | 307 | catch (IOException) |
308 | { | 308 | { |
309 | Close(string.Empty); | 309 | Close(string.Empty); |
310 | } | 310 | } |
311 | catch (ObjectDisposedException fail) | 311 | catch (ObjectDisposedException) |
312 | { | 312 | { |
313 | Close(string.Empty); | 313 | Close(string.Empty); |
314 | } | 314 | } |
315 | |||
316 | } | 315 | } |
317 | 316 | ||
318 | /// <summary> | 317 | /// <summary> |
@@ -414,8 +413,6 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
414 | _socketState.Header = pheader; | 413 | _socketState.Header = pheader; |
415 | } | 414 | } |
416 | 415 | ||
417 | |||
418 | |||
419 | if (_socketState.FrameComplete) | 416 | if (_socketState.FrameComplete) |
420 | { | 417 | { |
421 | ProcessFrame(_socketState); | 418 | ProcessFrame(_socketState); |
@@ -424,7 +421,6 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
424 | _socketState.ExpectedBytes = 0; | 421 | _socketState.ExpectedBytes = 0; |
425 | 422 | ||
426 | } | 423 | } |
427 | |||
428 | } | 424 | } |
429 | } | 425 | } |
430 | else | 426 | else |
@@ -457,8 +453,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
457 | _socketState.ReceivedBytes.Clear(); | 453 | _socketState.ReceivedBytes.Clear(); |
458 | _socketState.ExpectedBytes = 0; | 454 | _socketState.ExpectedBytes = 0; |
459 | // do some processing | 455 | // do some processing |
460 | } | 456 | } |
461 | |||
462 | } | 457 | } |
463 | } | 458 | } |
464 | if (offset > 0) | 459 | if (offset > 0) |
@@ -477,13 +472,12 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
477 | { | 472 | { |
478 | // We can't read the stream anymore... | 473 | // We can't read the stream anymore... |
479 | } | 474 | } |
480 | |||
481 | } | 475 | } |
482 | catch (IOException fail) | 476 | catch (IOException) |
483 | { | 477 | { |
484 | Close(string.Empty); | 478 | Close(string.Empty); |
485 | } | 479 | } |
486 | catch (ObjectDisposedException fail) | 480 | catch (ObjectDisposedException) |
487 | { | 481 | { |
488 | Close(string.Empty); | 482 | Close(string.Empty); |
489 | } | 483 | } |