Commit Graph

30 Commits

Author SHA1 Message Date
UbitUmarov
1c6d454691 remove excess garbage 2020-04-10 22:52:25 +01:00
UbitUmarov
97cb6254ef cosmetics, rename a few vars, etc 2020-03-02 01:32:33 +00:00
UbitUmarov
4ced4fed33 replace GetMeshModule and GetTextureModule 2018-12-01 23:13:24 +00:00
UbitUmarov
e520dba717 Merge branch 'master' into httptests 2017-05-21 02:20:40 +01:00
UbitUmarov
a2c2456076 remove LongPoll type and queues. Events should now have reduced latency also. About previus commit, it maybe a modified ingen-e3s-v1.33 script that is broken, and not the original version, can't tell 2017-05-21 02:11:53 +01:00
UbitUmarov
254b26a7d5 fix merge 2017-01-05 19:32:57 +00:00
Melanie Thielker
b16abc8166 Massive tab and trailing space cleanup 2017-01-05 19:07:37 +00:00
UbitUmarov
442b272228 add a Drop method to PollService Event handlers, Drop requests on connections known to be lost or delay event check if they are sending a response 2016-07-17 13:20:56 +01:00
Melanie
a7eb1b5b85 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Framework/Servers/HttpServer/PollServiceRequestManager.cs
	OpenSim/Region/CoreModules/Framework/Caps/CapabilitiesModule.cs
	OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs
2013-07-24 03:50:09 +01:00
Diva Canto
9e35b069a4 Reverting the reverts I did yesterday. cpu-branch has now been
successfully tested, and I'm merging back those changes, which proved to
be good.
Revert "Revert "Cleared up much confusion in PollServiceRequestManager. Here's the history:""

This reverts commit fa2370b32e.
2013-07-18 12:23:27 -07:00
Diva Canto
fa2370b32e Revert "Cleared up much confusion in PollServiceRequestManager. Here's the history:"
This reverts commit e46459ef21.
2013-07-17 15:05:36 -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
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
teravus
cda127e30f * Prep work switching the GetMeshModule over to a poll service.
* This still has the image throttler in it..  as is...  so it's not suitable for live yet.... The throttler keeps track of the task throttle but doesn't balance the UDP throttle yet.
2012-11-09 23:55:30 -05:00
UbitUmarov
617f1b9223 just remove the damm thing 2012-09-26 16:17:49 +01:00
UbitUmarov
7e3eba1064 Seems nothing actually need the request body for getevents. so change
control flag to false
2012-09-26 15:41:57 +01:00
UbitUmarov
654dd289f2 more changes to PollService 2012-09-26 03:05:27 +01:00
Melanie
387e59ff7f Revamp the HTTP textures handler to allow a maximum of four fetches
at any time and to drop requests for avatars n longer in the scene
2012-09-14 21:24:25 +02:00
Melanie
7e17f4296e Fix background inventory loading (Viewer 3) so it won't lag out the sim 2012-08-24 23:48:01 +02:00
Melanie
26d89777d8 Merge branch 'avination' into careminster
Conflicts:
	OpenSim/Framework/Servers/HttpServer/PollServiceEventArgs.cs
	OpenSim/Region/ClientStack/Linden/Caps/EventQueue/EventQueueGetModule.cs
	OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
2012-07-06 20:51:18 +01:00
Melanie
4854d77904 Add an EventType enum and Type field to the poll service event args. This allows
the manager to tell what type of event it is. All events except for lsl http in
go to the "slow queue" which is run once per second as before.
2012-07-05 23:09:20 +02:00
UbitUmarov
02cb0bf80a added a timeout paramenter to PollServiceEventArgs, so each type can define it's timeout 2012-07-04 17:40:02 +01:00
Justin Clark-Casey (justincc)
dca04c7b61 Avoid a race condition where an incoming request to a script external URL can trigger an exception is the URL was being removed at the same time.
This involves three steps
1) Return gracefully in UrlModule.HttpRequestHandler() instead of throwing an exception when the url cannot be found in its index
2) Return true instead of false in HasEvents() if no matching request is found in the map.  This call will only happen in the first place for raced requests.
3) Return a 404 in GetEvents() if the request is not in the index, rather than a blank 200 OK.

Many thanks to Tom Haines in http://opensimulator.org/mantis/view.php?id=6051 for doing some of the work on this.
2012-06-22 23:16:18 +01:00
Melanie
97c18caa76 Thank you, Intari, for a patch that implements the missing pieces of
Http-in and makes the host name for URL generation configurable.
Applied with changes:
llGetSimulatorHostname was not changed, because the change breaks
existing behavior and carries a data exposure risk. That value needs
to be configurable, the proposed fixed change is not acceptable.
2009-09-22 17:04:34 +01:00
Melanie
dafe5bf05f Completely remove the prior implementation of the request event handling
on poll handlers. Introduce a new delegate on the PollServiceEventArgs that
allow access to the request headers and body.
2009-09-22 06:19:02 +01:00
Melanie
bc9e4cfd96 Add a RequestID (UUID.Random()) to the PollRequest and pass it to all
even hander delegates.
2009-09-21 18:11:40 +01:00
Melanie
04170521f0 Add a UUID param to NoEvents in PollServiceEventArgs to make it more generic 2009-09-21 14:59:31 +01:00
Teravus Ovares
032aeb8b5d * Adds the ability to have a thread efficient long poll service (such as the eventqueue)
* If this doesn't melt the Http Server, this will significantly reduce the number of threads in use on regions with many users.
* Adds AddPollServiceHTTPHandler, and RemovePollServiceHTTPHandler to BaseHttpServer
* Generic enough to be used for many long poll services, not only the EventQueue.
2009-07-29 02:15:45 +00:00