Diva Canto
5c54eb30ed
Revert "This is a completely unreasonable thing to do, effectively defying the purpose of BlockingQueues. Trying this, to see the effect on CPU."
...
This reverts commit 5232ab0496 .
2013-07-17 15:02:54 -07:00
Diva Canto
5232ab0496
This is a completely unreasonable thing to do, effectively defying the purpose of BlockingQueues. Trying this, to see the effect on CPU.
2013-07-17 14:36:55 -07:00
Diva Canto
5f95f4d78e
Now trying DoubleQueue instead of BlockingQueue for the PollServiceRequestManager.
2013-07-17 14:09:04 -07:00
Diva Canto
f4317dc26d
Putting the requests back in the queue while testing for count >0 is not the smartest move...
2013-07-17 12:57:34 -07:00
Diva Canto
e46459ef21
Cleared up much confusion in PollServiceRequestManager. Here's the history:
...
When Melanie added the web fetch inventory throttle to core, she made the long poll requests (EQs) effectively be handled on an active loop. All those requests, if they existed, were being constantly dequeued, checked for events (which most often they didn't have), and requeued again. This was an active loop thread on a 100ms cycle!
This fixes the issue. Now the inventory requests, if they aren't ready to be served, are placed directly back in the queue, but the long poll requests aren't placed there until there are events ready to be sent or timeout has been reached.
This puts the LongPollServiceWatcherThread back to 1sec cycle, as it was before.
2013-07-17 11:19:36 -07:00
Justin Clark-Casey (justincc)
1b7b664c86
Add request received/handling stats for caps which are served by http poll handlers.
...
This adds explicit cap poll handler supporting to the Caps classes rather than relying on callers to do the complicated coding.
Other refactoring was required to get logic into the right places to support this.
2013-07-15 23:27:46 +01:00
Justin Clark-Casey (justincc)
2025dd25f6
Add missing file BaseOutputStreamHandler.cs from recent commit e19defd
2013-07-08 23:50:40 +01:00
Justin Clark-Casey (justincc)
dc54581700
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2013-07-08 22:19:37 +01:00
Diva Canto
b2d4b8b1da
BaseHttpServer: if the handler sets the content length, don't override it. This happens in HEAD handlers.
2013-07-08 14:12:11 -07:00
Justin Clark-Casey (justincc)
e19defde36
Add "show caps stats by user" and "show caps stats by cap" console commands to print various counts of capability invocation by user and by cap
...
This currently prints caps requests received and handled, so that overload of received compared to handled or deadlock can be detected.
This involves making BaseStreamHandler and BaseOutputStream record the ints, which means inheritors should subclass ProcessRequest() instead of Handle()
However, existing inheriting classes overriding Handle() will still work, albeit without stats recording.
"show caps" becomes "show caps list" to disambiguate between show caps commands
2013-07-08 22:03:07 +01:00
Melanie
f70357eaa3
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
2013-06-23 01:59:57 +01:00
Justin Clark-Casey (justincc)
a33b6eed6d
minor: remove mono compiler warnings in WebsocketServerHandler.cs
2013-06-20 00:54:19 +01:00
Justin Clark-Casey (justincc)
84af1cab9b
Display existing statistic of how many http requests a server is making as server.network.HTTPRequestsMade in "show stats all"
2013-06-19 20:48:12 +01:00
Justin Clark-Casey (justincc)
9501a583cb
Make number of inbound http requests handled available as a httpserver.<port>.IncomingHTTPRequestsProcessed stat
2013-06-18 23:07:18 +01:00
Melanie
162dfd8a38
Merge branch 'avination-current' into careminster
2013-06-11 21:03:02 +01:00
Melanie
a022ee5766
Merge branch 'master' into careminster
...
Conflicts:
OpenSim/Capabilities/Handlers/GetTexture/GetTextureHandler.cs
OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs
OpenSim/Services/Connectors/Asset/AssetServicesConnector.cs
2013-06-11 01:03:15 +01:00
Justin Clark-Casey (justincc)
7af97f88b7
Add port numbers to poll service thread names so that we can tell which belong to which HttpServer
2013-06-10 23:39:17 +01:00
Justin Clark-Casey (justincc)
32d1e50565
Reinstate explicit starting and stopping of PollServiceRequestManager added in 3eee991 but removed in 7c0bfca
...
Do not rely on destructors to stop things.
These fire at unpredictable times and cause problems such as http://opensimulator.org/mantis/view.php?id=6503
and most probably http://opensimulator.org/mantis/view.php?id=6668
2013-06-10 23:30:35 +01:00
Melanie
75631e0267
Supply proper type information for the various types of requests
2013-06-07 23:55:03 +01:00
Melanie
7c0bfca7a0
Adding Avination's PollService to round out the HTTP inventory changes
2013-06-07 23:43:45 +01:00
Melanie
17a902fed4
Clean up poll service
2013-06-07 22:39:27 +02:00
Melanie
fe4a67efb6
Merge branch 'avination-current' into careminster
...
Conflicts:
OpenSim/Region/CoreModules/Avatar/Inventory/Transfer/InventoryTransferModule.cs
OpenSim/Region/Framework/Interfaces/IDynamicMenuModule.cs
OpenSim/Region/OptionalModules/ViewerSupport/DynamicMenuModule.cs
OpenSim/Region/OptionalModules/World/MoneyModule/SampleMoneyModule.cs
2013-06-06 03:20:15 +01:00
Melanie
e39156c656
Send 503 when throttling textures
2013-04-25 01:38:21 +02:00
teravus
d2367968e4
* In between the fog, a moment of clarity. This fixes mantis 6570
2013-04-04 19:10:23 -04:00
Melanie
c6b0942f97
Merge branch 'master' into careminster
2013-04-05 00:03:33 +01:00
Melanie
5b950ca36a
Merge commit '464201b41d5f5fdd7c88ab5e95dd7b6fbae6d766' into careminster
2013-03-19 00:54:23 +00:00
teravus
6e1b3f9951
*Yet another HTTPServer update code changes in OpenSim Libs. * This fixes a connection close issue by getting rid of the socket references * This adds a connection timeout checker to shutdown poor or evil connections and combats DOS attempts that just connect and make no complete requests and just wait. It also actually implements KeepAlive... instead of just understanding the connection header in the request... you can test by connecting and requesting a keepalive header and sending another request on the same connection. The new timeout checker closes expired keepalive sessions, just make sure you send the request within 70 seconds of connecting or the timeout checker will timeout the connection.
2013-03-16 03:14:11 -04:00
Melanie
81552f41c6
Merge branch 'master' into careminster
...
Conflicts:
OpenSim/Region/ClientStack/Linden/Caps/MeshUploadFlagModule.cs
OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs
OpenSim/Region/OptionalModules/Avatar/Attachments/TempAttachmentsModule.cs
2013-03-05 23:57:53 +00:00
BlueWall
f676408e2a
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2013-03-05 15:30:54 -05:00
teravus
69fbcdf14c
* Add a Max Payload size property to the Websocket Server Handler. If you would like to restrict the maximum packet size, (and therefore protect against Memory DOSing) then you should set this. I defaulted it to 40MB. This means that in theory, a malicious user could connect and send a packet that claims that the payload is up to 40 mb (even if it doesn't actually turn out to be 40mb. More testing needs to be done on it where the packets are maliciously malformed.
2013-03-05 00:04:09 -05:00
BlueWall
66d74e76b1
Add method to remove JsonRpc Handlers from the server
2013-03-03 09:40:44 -05:00
Melanie
578174d21c
Merge branch 'master' into careminster
...
Conflicts:
OpenSim/Framework/RegionLoader/Web/RegionLoaderWebServer.cs
OpenSim/Region/CoreModules/Scripting/LSLHttp/UrlModule.cs
OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs
2013-02-27 18:05:04 +00:00
Justin Clark-Casey (justincc)
80c19b7cac
Make sure we dispose of WebResponse, StreamReader and Stream in various places where we were not already.
2013-02-27 00:21:02 +00:00
Melanie
9534d5f929
Merge branch 'master' into careminster
2013-02-22 01:28:54 +00:00
Diva Canto
4779f7d7d5
Deleted all AssemblyFileVersion directives
2013-02-19 17:14:55 -08:00
Melanie
ea8c5ba707
Merge branch 'master' into careminster
...
Conflicts:
OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
2013-02-15 21:42:16 +00:00
teravus
c22276a169
* gracefully handle a Situation where a double close is called on the WebSocket handler
2013-02-14 18:43:53 -05:00
Melanie
45f5a6a6db
Merge branch 'master' into careminster
...
Conflicts:
bin/HttpServer_OpenSim.dll
2013-02-07 20:51:51 +00:00
teravus
94a5232d3a
* Adds Websocket support to baseHttpServer and IHttpServer.cs . This allows modules to set up a websocket server that websocket clients can connect to. An example module is in OptionalModules/Example/WebSocketEchoTest/WebSocketEchoModule.cs
2013-02-07 10:50:17 -05:00
teravus
4867a7cbbf
This is the final commit that enables the Websocket handler
2013-02-07 10:27:18 -05:00
teravus
1dc09d8e8f
We're not really done here.. but we're getting there. Socket Read is working.. Still have to do Header.ToBytes and compose a websocket frame with a payload.
2013-02-05 18:02:25 -05:00
Melanie
d3892bbd06
Merge branch 'master' into careminster
...
Conflicts:
OpenSim/Data/MySQL/MySQLSimulationData.cs
OpenSim/Framework/Servers/VersionInfo.cs
OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs
OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
2013-02-05 21:30:12 +00:00
Justin Clark-Casey (justincc)
1f1da23097
Bump version and assembly version numbers from 0.7.5 to 0.7.6
...
This is mostly Bluewall's work but I am also bumping the general version number
OpenSimulator 0.7.5 remains in the release candidate stage.
I'm doing this because master is significantly adding things that will not be in 0.7.5
This update should not cause issues with existing external binary DLLs because our DLLs do not have strong names
and so the exact version match requirement is not in force.
2013-02-05 00:23:17 +00:00
Melanie
87022b1fb4
Merge branch 'master' into careminster
2013-01-23 19:31:22 +00:00
BlueWall
2841ed05cf
Merge branch 'master' of /home/opensim/var/repo/opensim
2013-01-23 08:16:18 -05:00
BlueWall
1776986dc3
Add additional return status
...
Adding additional return status for JsonRpcMethod. Now returns true/false
2013-01-23 08:14:21 -05:00
Melanie
12efac494a
Merge branch 'master' into careminster
...
Conflicts:
OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs
OpenSim/Framework/Servers/HttpServer/PollServiceRequestManager.cs
OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs
2013-01-19 02:38:04 +00:00
Justin Clark-Casey (justincc)
3eee991935
Explicitly stop PollServiceRequestManager() rather than relying on its destructor.
...
Hopes to address occasional shutdown failures from http://opensimulator.org/mantis/view.php?id=6503
2013-01-19 02:04:36 +00:00
Melanie
70fa41863d
Merge commit 'f54b398540698e6e09022fe77b6405624b532f5c' into careminster
2013-01-16 01:13:14 +00:00
BlueWall
ca3e0d67d2
Add Json-Rpc 2.0 To Registered Handlers
...
Added registration json-rpc handlers in the http server. Covers version 2.0
See: http://www.jsonrpc.org/specification
2013-01-15 10:04:16 -05:00