Commit Graph

82 Commits (a74e65200ce70b9f2b7adee0c65d51cb6a48df41)

Author SHA1 Message Date
Justin Clark-Casey (justincc) d214e2d0c4 On closing child agents, send separate asynchronous requests to each neighbour rather than sending all closes concurrently on a separate thread.
This is to reduce race conditions where neighbours may be responding erratically, thus mixing up create and close agent requests in time.
This mirrors OpenSimulator behaviour on enabling child agents where each region is contacted separately.
2013-05-16 17:12:02 +01:00
Dan Lake 0dd14ca0a3 Missing parameter in log error message was throwing exception 2012-07-18 13:05:48 -07:00
Justin Clark-Casey (justincc) 9ccb578721 Don't cache regions data on the other unused LocalGridServiceConnector that the module code still sets up even if we're using one directly instantiated from the RemoteGridServiceConnector.
Also improves log messages to indicate which regions are sending/receiving various neighbour protocol messages.
2012-07-13 00:44:00 +01:00
Justin Clark-Casey (justincc) b56673c920 Fix bug with "kick user" reducing agent counts by 2 instead of 1.
This is done by making the kick user command call IClientAPI.Close() rather than routing through Scene.IncomingCloseAgent(), which also called IClientAPI.Close()
DisableSimulator for child agents is moved from IncomingCloseAgent() to RemoveClient(), this is not a functional change since IncomingCloseAgent() always ends up calling RemoveClient()
2012-06-08 00:18:25 +01:00
Diva Canto 0f277dfa17 Addresses mantis #5846 2012-04-08 17:54:59 -07:00
Justin Clark-Casey (justincc) bafef292f4 Take watchdog alarm calling back outside the m_threads lock.
This is how it was originally.  This stops a very long running alarm callback from causing a problem.
2012-02-24 05:25:18 +00:00
Diva Canto 99b9c1a9d5 More improvements on agent position updates: if the target sims fail, blacklist them for 2 min, so that we don't keep doing remote calls that fail. 2012-02-20 10:58:07 -08:00
Diva Canto 20c65ac438 A few more tweaks on position updates and create child agents. Mono hates concurrent uses of the same TCP connection, and even of the connections to the same server. So let's stop doing it. This patch makes movement much smoother when there are lots of neighbours. 2012-02-19 12:28:07 -08:00
Diva Canto 964ec57ffe Changed the async approach on close child agents. This may improve crossings a little bit. 2011-12-16 17:24:50 -08:00
Justin Clark-Casey (justincc) 10a23a823e Get rid of the spurious [WEB UTIL] couldn't decode <OpenSim agent 57956c4b-ff2e-4fc1-9995-613c6256cc98>: Invalid character 'O' in input string messages
These are just the result of an attempt to canonicalize received messages - it's not important that we constantly log them.
Also finally get the deregister grid service message working properly
2011-11-19 01:16:07 +00:00
Justin Clark-Casey (justincc) a3c5f76942 Removed unused and mostly commented out SceneCommunicationService methods
As far as I can see, the SCS is only now used for informing neighbours of up/down status and possibly sending child agent updates and close requests
2011-11-15 18:16:43 +00:00
Justin Clark-Casey (justincc) 20f26eeb17 Remove unused RegionCommsListener/IRegionCommsListener.
All this is now being handled through IEntityTransferModule and SimulationService instead, and has been for some time.
2011-11-15 17:38:55 +00:00
Justin Clark-Casey (justincc) 64784bc0cf remove SceneCommunicationService.OnAvatarCrossingIntoRegion. This stuff is not being used any more - it's now IEntityTransferModule and SimulationService instead 2011-11-15 17:30:58 +00:00
Melanie c7dd7b13a2 Convert SendKillObject to take a list of uint rather than sending one
packet per prim. More to come as we change to make use of this.
2011-11-06 20:38:07 +00:00
Dan Lake 4748c19bdb Refactored "known child region" in ScenePresence. There were 4 different
ways to access the list/dictionary of child regions and locking was
inconsistent. There are now public properties which enforce locks.
Callers are no longer required to create new copies of lists.
2011-10-06 22:47:33 -07:00
Mic Bowman cf24069227 Change UpdateAgent (for changes in agent position) to be sent
once to each simulator rather than once to each region. This
should help with some of the delays caused by multiple outstanding
requests to a single service point.
2011-02-03 12:43:46 -08:00
Diva Canto c18bcf3d8d A bit more frugal on the caller side of closing agents, now that the receiving end is async. No need for so much concurrency. 2011-01-07 10:25:49 -08:00
Melanie e1664b8d38 Fix child agent scoping 2011-01-03 19:42:26 +00:00
Justin Clark-Casey (justincc) df702417dc Remove mono compiler warnings 2010-08-26 16:27:41 +01:00
Diva Canto 19558f380a Fixes the long-standing RegionUp bug! Plus lots of other cleanups related to neighbours. 2010-06-13 19:06:22 -07:00
Justin Clark-Casey (justincc) c4ba2e5dfb minor: remove some compiler warnings 2010-03-03 23:35:23 +00:00
John Hurliman d506449f67 * Removed the unused GridRegion.getInternalEndPointPort() (just use InternalEndPoint.Port). This class is complex enough as it is
* Changed the failed to inform neighbor message from a warning to info, since this will fire for every empty neighbor space
* Made the EnableSimulator/EstablishAgentCommunication log message more verbose and more clear about what is happening
2010-02-23 00:59:24 -08:00
Melanie 10f8c2ea9b Merge branch 'master' into presence-refactor
This merge was very conflicted. I think I got them all, but I can't be sure.
I had to merge to master or risk divergence to the point of unmergeability.
2010-01-16 00:05:08 +00:00
Diva Canto f1c30784ac * General cleanup of Teleports, Crossings and Child agents. They are now in the new AgentTransferModule, in line with what MW started implementing back in May -- ITeleportModule. This has been renamed IAgentTransferModule, to be more generic.
* HGSceneCommunicationService has been deleted
* SceneCommunicationService will likely be deleted soon too
2010-01-15 15:11:58 -08:00
Diva Canto 4de82891a9 Bug in Teleport fixed -- Appearance was missing from AgentCircuitData. 2010-01-13 09:34:08 -08:00
Diva Canto 7356860b48 Several more buglets removed. 2010-01-13 09:17:30 -08:00
Diva Canto 011a1b3798 More appearance woes fixed, this time for child agents. Tested on a grid with 2 simulators. Everything seems to be working, including border crosses. TPs (prim crossing) need love now. 2010-01-12 09:49:27 -08:00
Diva Canto 77e43f4801 Fixed a couple of bugs with Appearance. Appearance is all good now. 2010-01-11 17:30:05 -08:00
Diva Canto c5ea783526 OpenSim/Framework/Communications/Cache deleted. LibraryRootFolder deleted. 2010-01-11 07:51:33 -08:00
Diva Canto 001d369568 CommunicationsManager deleted. 2010-01-11 07:45:47 -08:00
Diva Canto 0c2946031b CommunicationsManager is practically empty. Only NetworkServersInfo is there. 2010-01-10 19:42:36 -08:00
Diva Canto 4dd523b45d * Changed IPresenceService Logout, so that it takes a position and a lookat
* CommsManager.AvatarService rerouted
2010-01-10 15:34:56 -08:00
Diva Canto 1e1b2ab221 * OMG! All but one references to UserProfileCacheService have been rerouted!
* HG is seriously broken here
* Compiles. Untested.
2010-01-10 10:40:07 -08:00
Melanie 81d5a4b6d8 Remove "login disable", "login enable" and "login status" commands. 2010-01-10 03:03:18 +00:00
Diva Canto 6b60f3cce5 A few more inches... Old friends things removed. Less references to UserProfileService. 2010-01-08 20:31:29 -08:00
Diva Canto b63405c1a7 Inching ahead... This compiles, but very likely does not run. 2010-01-08 10:43:34 -08:00
Diva Canto f11a97f12d * Finished SimulationServiceConnector
* Started rerouting calls to UserService.
* Compiles. May run.
2010-01-07 15:53:55 -08:00
Melanie 0b5cdc539c Change teleports so the TeleportFlags are sent to the destination sim. It
can now determine if a connection is from login, teleport or crossing.
Needed for a meaningful banlines implementation
2009-12-29 18:35:06 +00:00
Kunnis d89f3e9811 Getting rid of SimpleRegionInfo and SerializableRegionInfo per Mel
Signed-off-by: Melanie <melanie@t-data.com>
2009-12-12 04:44:32 +00:00
Melanie 05fc504ff3 Remove the old remoting-type interregion code for prim/script crossing 2009-11-26 12:16:42 +00:00
Justin Clark-Casey (justincc) 1324082b90 refactor: move most animation methods from ScenePresence into a new ScenePresenceAnimator class 2009-11-17 15:05:40 +00:00
Diva Canto 2432cc607e Neighbours cache working. 2009-09-27 13:43:57 -07:00
Diva Canto 5d09c53a1a Unpacking the mess with OtherRegionUp, so we can have a real cache of the neighbours in the grid service modules. 2009-09-27 10:14:10 -07:00
Diva Canto 632bb71262 Fixed MapBlocks bug, wrong order of arguments. First version that seems completely functional.
Also fixed the notification of the message server in standalone -- that server doesn't usually exist.
2009-09-26 08:49:48 -07:00
Diva Canto 7253a9453e Merge branch 'master' of ssh://diva@opensimulator.org/var/git/opensim 2009-09-26 07:49:04 -07:00
Diva Canto 5757afe766 First pass at the heart surgery for grid services. Compiles and runs minimally. A few bugs to catch now. 2009-09-26 07:48:21 -07:00
Teravus Ovares (Dan Olivares) 0a0b532270 * Fixes teleporting within megaregions on HG enabled regions. You can teleport around now. (but it still doesn't fix the inconsistent attachment state when teleporting into region slots that are not the south west region on megaregions) 2009-09-25 15:31:19 -04:00
Diva Canto 902279f0fd Moved the property RegionLoginsEnabled from GridComms to the Scene -- not the scene itself but SceneCommunicationService, for now. Beginning to clear the code from using Region.Communications. grid stuff. 2009-09-25 08:39:09 -07:00
Teravus Ovares (Dan Olivares) ed475f21ee * Use the BeginInvoke methodology instead of the FireAndForget methodology to try to mitigate a mono assert. Same functionality done a different way. 2009-09-13 18:28:45 -04:00
Teravus Ovares (Dan Olivares) 4241cdc929 * More comments in the RegionCombinerModule
* Changed the Destination ID to 0 in the TeleportFinish Event (why did we have it as 3?)
* Added border based trigger teleports
* Fix MakeRootAgent border cross tests for ensuring that the position is inside the region to use the borders to figure out if it's outside the Region
2009-09-13 07:20:18 -04:00