Commit Graph

83 Commits

Author SHA1 Message Date
Justin Clark-Casey (justincc)
f2a4d9b99c Fix regression where multiple close agents could be sent to the wrong neighbour region on root agent close.
This was introduced in git master d214e2d0 (Thu May 16 17:12:02 2013)
Caught out by the fact that value types used in iterators act like references and this was dispatched asynchronously.
Should address http://opensimulator.org/mantis/view.php?id=6658
2013-06-07 19:13:24 +01:00
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