aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack/Linden/Caps/EventQueue (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'justincc-master'Justin Clark-Casey (justincc)2014-02-122-7/+99
|\
| * If a caller tries to queue a CAPs message to a scene presence that has no ↵Justin Clark-Casey (justincc)2014-02-122-7/+99
| | | | | | | | | | | | | | event queue (e.g. an NPC), only warn if event queue debugging is greater than zero. Removes the spurious log warnings if groups are active when NPCs are used. Adds more regression tests associated with adding messages to the event queue
* | varregion: properly pack the region size parameters so he viewer will parse ↵Robert Adams2014-01-111-6/+6
| | | | | | | | | | | | | | them. This gets rid of the viewer crash when teleporting into varregions and allows multiple, adjacent varregions (of the same size) with border crossings.
* | varregion: Debug messages for region crossing debugging.Robert Adams2014-01-111-5/+6
| |
* | varregion: Add region size to teleport event messages (EnableSimulator,Robert Adams2014-01-032-19/+45
|/ | | | | | | CorssRegion, TeleportFinishEvent). Have Simian grid service return the region size. Many teleport related debug log messages. Can be removed when teleport works (like that's ever going to happen).
* Create regression test TestSendAgentGroupDataUpdate() for groups agent data ↵Justin Clark-Casey (justincc)2013-12-181-3/+3
| | | | sending
* refactor: rename Scene.IncomingCloseAgent() to CloseAgent() in order to make ↵Justin Clark-Casey (justincc)2013-09-271-1/+1
| | | | | | it clear that all non-clientstack callers should be using this rather than RemoveClient() in order to step through the ScenePresence state machine properly. Adds IScene.CloseAgent() to replace RemoveClient()
* Fix bug where users teleporting to non-neighbour regions could continue to ↵Justin Clark-Casey (justincc)2013-09-021-2/+2
| | | | | | | | hear chat from their source region for some time after teleport completion. This occurs on v2 teleport since the source region now waits 15 secs before closing the old child agent, which could still receive chat. This commit introduces a ScenePresenceState.PreClose which is set before the wait, so that ChatModule can check for ScenePresenceState.Running. This was theoretically also an issue on v1 teleport but since the pause before close was only 2 secs there, it was not noticed.
* minor: Extend warning message when adding trying to add an event for a ↵Justin Clark-Casey (justincc)2013-08-121-3/+8
| | | | client without a queue to include the event message name.
* Fix an issue where under teleport v2 protocol, teleporting from regions in ↵Justin Clark-Casey (justincc)2013-08-081-1/+1
| | | | | | | | | | an line from A->B->C would not close region A when reaching C The root cause was that v2 was only closing neighbour agents if the root connection also needed a close. However, fixing this requires the neighbour regions also detect when they should not close due to re-teleports re-establishing the child connection. This involves restructuring the code to introduce a scene presence state machine that can serialize the different add and remove client calls that are now possible with the late close of the This commit appears to fix these issues and improve teleport, but still has holes on at least quick reteleporting (and possibly occasionally on ordinary teleports). Also, has not been completely tested yet in scenarios where regions are running on different simulators
* Several major improvements to group (V2) chat. Specifically: handle ↵Diva Canto2013-07-271-2/+2
| | | | | | join/drop appropriately, invitechatboxes. The major departure from flotsam is to send only one message per destination region, as opposed to one message per group member. This reduces messaging considerably in large groups that have clusters of members in certain regions.
* Slight improvement: no need to delay the removal of the queues in EQ, ↵Diva Canto2013-07-261-8/+0
| | | | because DisableSimulator is now being sent via UDP
* This should fix all issues with teleports. One should be able to TP as fast ↵Diva Canto2013-07-251-44/+14
| | | | | | | | | as needed. (Although sometimes Justin's state machine kicks in and doesn't let you) The EventQueues are a hairy mess, and it's very easy to mess things up. But it looks like this commit makes them work right. Here's what's going on: - Child and root agents are only closed after 15 sec, maybe - If the user comes back, they aren't closed, and everything is reused - On the receiving side, clients and scene presences are reused if they already exist - Caps are always recreated (this is where I spent most of my time!). It turns out that, because the agents carry the seeds around, the seed gets the same URL, except for the root agent coming back to a far away region, which gets a new seed (because we don't know what was its seed in the departing region, and we can't send it back to the client when the agent returns there).
* Changed the timoeut of EQ 502s (no events) to 50 secs. The viewer post ↵Diva Canto2013-07-181-2/+9
| | | | | | requests timeout in 60 secs. There's plenty of room for improvement in handling the EQs. Some other time...
* Reverting the reverts I did yesterday. cpu-branch has now beenDiva Canto2013-07-181-3/+5
| | | | | | | | 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.
* Revert "Cleared up much confusion in PollServiceRequestManager. Here's the ↵Diva Canto2013-07-171-5/+3
| | | | | | history:" This reverts commit e46459ef21e1ee5ceaeca70365a7c881d33b09ce.
* Cleared up much confusion in PollServiceRequestManager. Here's the history:Diva Canto2013-07-171-3/+5
| | | | | | 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.
* Simplify EventQueue cap setup so that it is also stat monitored.Justin Clark-Casey (justincc)2013-07-161-45/+29
| | | | Curiously, the number of requests received is always one greater than that shown as handled - needs investigation
* Add request received/handling stats for caps which are served by http poll ↵Justin Clark-Casey (justincc)2013-07-151-1/+1
| | | | | | | 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.
* For stat purposes, add names to capability request handlers where these were ↵Justin Clark-Casey (justincc)2013-07-081-1/+2
| | | | not set
* Adding Avination's PollService to round out the HTTP inventory changesMelanie2013-06-071-2/+2
|
* minor: Fix usage error message for "debug eq" console commandJustin Clark-Casey (justincc)2013-03-281-1/+1
|
* Add "show eq" console command to show numbers of messages in agent event queues.Justin Clark-Casey (justincc)2013-03-281-0/+23
| | | | For debugging purposes.
* minor: Remove mono compiler warnings in EventQueueTestsJustin Clark-Casey (justincc)2013-03-111-1/+3
|
* Plumb the path from the client to the extra physics params and backMelanie2013-02-072-0/+28
|
* Consistenly make NUnit test cases inherit from OpenSimTestCase which ↵Justin Clark-Casey (justincc)2012-11-241-1/+1
| | | | automatically turns off any logging enabled between tests
* Cleanup on region modules: gave short node id's to all of them.Diva Canto2012-11-121-1/+1
|
* One more module: EventQueueGetModule. Also making it non-optional for this dll.Diva Canto2012-11-101-53/+38
|
* minor: Add missing newlines and spacing to help for "debug eq" console commandJustin Clark-Casey (justincc)2012-10-161-4/+4
|
* Lock on AgentCircuitData during Scene.AddClient() and RemoveClient() to ↵Justin Clark-Casey (justincc)2012-10-101-11/+2
| | | | | | prevent an inactive connection being left behind if the user closes the viewer whilst the connection is being established. This should remove the need to run the console command "kick user --force" when these connections are left around.
* Add --force flag to "kick user" console command to allow bypassing of recent ↵Justin Clark-Casey (justincc)2012-08-201-1/+1
| | | | | | | | | race condition checks. This is to allow a second attempt to remove an avatar even if "show connections" shows them as already inactive (i.e. close has already been attempted once). You should only attempt --force if a normal kick fails. This is partly for diagnostics as we have seen some connections occasionally remain on lbsa plaza even if they are registered as inactive. This is not a permanent solution and may not work anyway - the ultimate solution is to stop this problem from happening in the first place.
* Put all debug console commands into a single Debug section rather than ↵Justin Clark-Casey (justincc)2012-06-151-1/+1
| | | | scattering them over other categories
* Add main instance to internal MainServer.m_Servers list to simplify internal ↵Justin Clark-Casey (justincc)2012-06-151-1/+10
| | | | | | logic. This does require the server to be added before it is set as the main Instance
* Fix build break. Comment out EQG deregister/register logging.Justin Clark-Casey (justincc)2012-05-181-10/+10
|
* Add level 2 debug eq logging which logs event queue polls.Justin Clark-Casey (justincc)2012-05-181-23/+32
| | | | Refactor: eq message logging into common method.
* refactor: move EventQueueGet path generation into common method. Rename ↵Justin Clark-Casey (justincc)2012-05-181-20/+33
| | | | some local variables in line with code conventions. Add commented out EQG log lines for future use.
* Implement optional name and description on http stream handlers so that we ↵Justin Clark-Casey (justincc)2012-05-031-2/+6
| | | | | | can relate a slow request to what the handler actually does and the agent it serves, if applicable. This is most useful for capabilities where the url is not self-describing.
* Add regression test for teleporting an agent between separated regions on ↵Justin Clark-Casey (justincc)2012-04-271-1/+1
| | | | | | | | the same simulator. This involves a large amount of change in test scene setup code to allow test scenes to share shared modules SetupScene is now an instance method that requires an instantiation of SceneHelpers, though other SceneHelpers methods are still static May split these out into separate classes in the future.
* Change "help" to display categories/module list then "help ↵Justin Clark-Casey (justincc)2012-03-081-1/+1
| | | | | | | | | | | <category/module>" to display commands in a category. This is to deal with the hundred lines of command splurge when one previously typed "help" Modelled somewhat on the mysql console One can still type help <command> to get per command help at any point. Categories capitalized to avoid conflict with the all-lowercase commands (except for commander system, as of yet). Does not affect command parsing or any other aspects of the console apart from the help system. Backwards compatible with existing modules.
* Stop also adding an ordinary http handler when we set up a poll http handler.Justin Clark-Casey (justincc)2011-12-071-6/+0
| | | | It appears that this is entirely unnecessary since the poll http handlers are dealt with on a separate code path.
* Improve some of the debug help messagesJustin Clark-Casey (justincc)2011-11-291-0/+1
|
* Correct mistake in "debug eq" helpJustin Clark-Casey (justincc)2011-11-291-1/+1
|
* comment out a noisy log line I accidentally left in from the last commitJustin Clark-Casey (justincc)2011-11-241-1/+1
|
* Stop passing a request handler to the initial caps.RegisterHandler in ↵Justin Clark-Casey (justincc)2011-11-241-157/+162
| | | | | | EventQueueGetModule since this is immediatley replaced by a poll server handler. This allows us to comment out a bunch of code and simplify the codebase and readability.
* Add a "debug eq" console command for debugging.Justin Clark-Casey (justincc)2011-11-241-6/+79
| | | | This will log outgoing event queue message names if turned on.
* Make OpenSim.Framework.Servers.HttpServer rely on OpenSim.Framework instead ↵Justin Clark-Casey (justincc)2011-10-251-0/+1
| | | | | | | | | 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)
* Fix bugs in EventQueueGetModule.ClientClosed() and ↵Justin Clark-Casey (justincc)2011-10-242-4/+22
| | | | | | 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.
* separate out future common setup code from EventQueueTests.AddForClient()Justin Clark-Casey (justincc)2011-10-241-8/+14
|
* Add new EventQueueTests with basic test to check that adding a client ↵Justin Clark-Casey (justincc)2011-10-242-1/+72
| | | | registers an http poll
* Improve locking when access queue in EventQueueGetModuleJustin Clark-Casey (justincc)2011-09-241-14/+17
|