aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework/Servers/HttpServer/PollServiceRequestManager.cs (unfollow)
Commit message (Collapse)AuthorFilesLines
2013-08-17remove mono compiler warnings from PollServiceRequestManagerJustin Clark-Casey (justincc)1-4/+2
2013-07-26Increased the rate of the PollServiceRequestManager to 0.5 secs (it was ↵Diva Canto1-1/+1
1sec). Group chat is going over the EQ... Hopefully this won't increase CPU when there's nothing going on, but we need to watch for that.
2013-07-21Removed verbose debug from previous commitDiva Canto1-1/+0
2013-07-21PollServiceRequestManager: changed the long poll from a Queue to a List. No ↵Diva Canto1-13/+17
need to dequeue and enqueue items every 1sec.
2013-07-21Delay the enqueueing of non-longpoll requests for 100ms. No need to have ↵Diva Canto1-1/+11
these requests actively on the processing queue if it seems they're not ready.
2013-07-18Changed the timoeut of EQ 502s (no events) to 50 secs. The viewer post ↵Diva Canto1-1/+1
requests timeout in 60 secs. There's plenty of room for improvement in handling the EQs. Some other time...
2013-07-18Revert "Revert "Putting the requests back in the queue while testing for ↵Diva Canto1-3/+7
count >0 is not the smartest move..."" This reverts commit 71278919575b0e0222cdbe3c0cefa5919f9a75bc.
2013-07-18Reverting the reverts I did yesterday. cpu-branch has now beenDiva Canto1-46/+33
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 fa2370b32ee57a07f27501152c3c705a883b13d8.
2013-07-17Revert "Cleared up much confusion in PollServiceRequestManager. Here's the ↵Diva Canto1-33/+46
history:" This reverts commit e46459ef21e1ee5ceaeca70365a7c881d33b09ce.
2013-07-17Revert "Putting the requests back in the queue while testing for count >0 is ↵Diva Canto1-7/+3
not the smartest move..." This reverts commit f4317dc26d670c853d0ea64b401b00f718f09474.
2013-07-17Revert "Now trying DoubleQueue instead of BlockingQueue for the ↵Diva Canto1-2/+2
PollServiceRequestManager." This reverts commit 5f95f4d78e8c7d17b8ba866907156fe6d4444c04.
2013-07-17Revert "This is a completely unreasonable thing to do, effectively defying ↵Diva Canto1-52/+40
the purpose of BlockingQueues. Trying this, to see the effect on CPU." This reverts commit 5232ab0496eb4fe6903a0fd328974ac69df29ad8.
2013-07-17This is a completely unreasonable thing to do, effectively defying the ↵Diva Canto1-40/+52
purpose of BlockingQueues. Trying this, to see the effect on CPU.
2013-07-17Now trying DoubleQueue instead of BlockingQueue for the ↵Diva Canto1-2/+2
PollServiceRequestManager.
2013-07-17Putting the requests back in the queue while testing for count >0 is not the ↵Diva Canto1-3/+7
smartest move...
2013-07-17Cleared up much confusion in PollServiceRequestManager. Here's the history:Diva Canto1-46/+33
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-15Add request received/handling stats for caps which are served by http poll ↵Justin Clark-Casey (justincc)1-50/+8
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-06-10Add port numbers to poll service thread names so that we can tell which ↵Justin Clark-Casey (justincc)1-2/+2
belong to which HttpServer
2013-06-10Reinstate explicit starting and stopping of PollServiceRequestManager added ↵Justin Clark-Casey (justincc)1-3/+5
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-07Adding Avination's PollService to round out the HTTP inventory changesMelanie1-56/+192
2013-01-19Explicitly stop PollServiceRequestManager() rather than relying on its ↵Justin Clark-Casey (justincc)1-5/+12
destructor. Hopes to address occasional shutdown failures from http://opensimulator.org/mantis/view.php?id=6503
2012-07-25Move Watchdog and MemoryWatchdog classes into OpenSim.Framework.Monitoring ↵Justin Clark-Casey (justincc)1-0/+1
with other monitoring code from OpenSim.Framework
2012-06-13Don't include time to transmit response back to requester when assessing ↵Justin Clark-Casey (justincc)1-3/+3
slow handling of requests. This is to avoid logging a 'slow' request when the source of delay is the viewer in processing a response. This is not something we can do much about on the server end - it's server-side delay that we're interested in. To ensure consistency, this commit also had to refactor and simplify inbound non-poll network request handling, though there should be no functional change. IOSHttpResponse no longer exposes the Send() method, only classes in OpenSim.Framework.Servers.HttpServer should be doing this. Only the GetTextureHandler was sending its own response. Now it leaves this to BaseHttpServer, like all other core handlers.
2012-06-07Allow the thread watchdog to accept an alarm method that is invoked if the ↵Justin Clark-Casey (justincc)1-0/+2
timeout is breached. This alarm can then invoke this to log extra information. This is used in LLUDPServer to show which client was being processed when incoming and outgoing udp watchdog alarms are triggered.
2012-02-24Stop spurious scene loop startup timeout alarms for scenes with many prims.Justin Clark-Casey (justincc)1-0/+2
On the first frame, all startup scene objects are added to the physics scene. This can cause a considerable delay, so we don't start raising the alarm on scene loop timeouts until the second frame. This commit also slightly changes the behaviour of timeout reporting. Previously, a report was made for the very first timed out thread, ignoring all others until the next watchdog check. Instead, we now report every timed out thread, though we still only do this once no matter how long the timeout.
2011-11-07Remove unused avariable in PollServiceRequestManagerJustin Clark-Casey (justincc)1-8/+6
2011-10-25Restart the event queue worker threads that I accidentally disabled earlier ↵Justin Clark-Casey (justincc)1-7/+9
today in 8a0a78c. Also adds these to the watchdogs with very large timeouts (should really be infinite)
2011-10-25Make OpenSim.Framework.Servers.HttpServer rely on OpenSim.Framework instead ↵Justin Clark-Casey (justincc)1-16/+22
of the other way around. This is necessary so that code in HttpServer can use framework facilities such as the thread watchdog for monitoring purposes. Doing this shuffle meant that MainServer was moved into OpenSim/Framework/Servers Also had to make OpenSim.Framework.Console rely on OpenSim.Framework rather than the other way around since it in turn relies on HttpServer MainConsole and some new interfaces had to be moved into OpenSim/Framework to allow this. This can be reverted if parts of OpenSim.Framework stop relying on console presence (cheifly RegionInfo)
2011-10-24Fix bugs in EventQueueGetModule.ClientClosed() and ↵Justin Clark-Casey (justincc)1-3/+7
BaseHttpServer.RemovePollServerHTTPHandler() that stopped existing code in ClientClosed() from actually tearing down the poll handler Actually doing the tear down appear to have no ill effects with region crossing and teleport.
2009-10-22Implemented a Watchdog class. Do not manually create Thread objects anymore, ↵John Hurliman1-4/+2
use Watchdog.StartThread(). While your thread is running call Watchdog.UpdateThread(). When it is shutting down call Watchdog.RemoveThread(). Most of the threads in OpenSim have been updated
2009-09-21Add a RequestID (UUID.Random()) to the PollRequest and pass it to allMelanie1-1/+1
even hander delegates.
2009-09-21Add a UUID param to NoEvents in PollServiceEventArgs to make it more genericMelanie1-1/+1
2009-08-01Add copyright header. Formatting cleanup.Jeff Ames1-1/+1
2009-07-29* An attempt to fix mantis #3953Teravus Ovares1-1/+1
2009-07-29* Adds the ability to have a thread efficient long poll service (such as the ↵Teravus Ovares1-0/+145
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.