OpenSimMirror/OpenSim/Framework
Diva Canto 3891a8946b New Teleport protocol (V2), still compatible with V1 and older. (version of the destination is being checked)
In this new protocol, and as committed before, the viewer is not sent EnableSimulator/EstablishChildCommunication for the destination. Instead, it is sent TeleportFinish directly. TeleportFinish, in turn, makes the viewer send a UserCircuitCode packet followed by CompleteMovementIntoRegion packet. These 2 packets tend to occur one after the other almost immediately to the point that when CMIR arrives the client is not even connected yet and that packet is ignored (there might have been some race conditions here before); then the viewer sends CMIR again within 5-8 secs. But the delay between them may be higher in busier regions, which may lead to race conditions.
This commit improves the process so there are are no race conditions at the destination. CompleteMovement (triggered by the viewer) waits until Update has been sent from the origin. Update, in turn, waits until there is a *root* scene presence -- so making sure CompleteMovement has run MakeRoot. In other words, there are two threadlets at the destination, one from the viewer and one from the origin region, waiting for each other to do the right thing. That makes it safe to close the agent at the origin upon return of the Update call without having to wait for callback, because we are absolutely sure that the viewer knows it is in th new region.
Note also that in the V1 protocol, the destination was getting UseCircuitCode from the viewer twice -- once on EstablishAgentCommunication and then again on TeleportFinish. The second UCC was being ignored, but it shows how we were not following the expected steps...
2013-07-24 14:27:58 -07:00
..
AssetLoader/Filesystem Deleted all AssemblyFileVersion directives 2013-02-19 17:14:55 -08:00
Client Fix script error messages not showing up in viewer 3 and associated viewers. 2012-10-25 03:26:12 +01:00
Communications Deleted all AssemblyFileVersion directives 2013-02-19 17:14:55 -08:00
Configuration Make sure we dispose of WebResponse, StreamReader and Stream in various places where we were not already. 2013-02-27 00:21:02 +00:00
Console Add request received/handling stats for caps which are served by http poll handlers. 2013-07-15 23:27:46 +01:00
Monitoring Correct issue where the last instance of a sampled stat was shown 3x larger than it should have been (though internal use was correct) 2013-07-23 23:31:35 +01:00
RegionLoader Make sure we dispose of WebResponse, StreamReader and Stream in various places where we were not already. 2013-02-27 00:21:02 +00:00
Serialization Deleted all AssemblyFileVersion directives 2013-02-19 17:14:55 -08:00
Servers Removed verbose debug from previous commit 2013-07-21 09:00:08 -07:00
Tests Authenticate ChildAgentUpdate too. 2013-07-14 09:21:28 -07:00
AgentCircuitData.cs Extend "show circuits" to show circuit code, ip and viewer name. 2012-07-12 23:09:36 +01:00
AgentCircuitManager.cs Improve locking in AgentCircuitManager 2011-12-03 16:19:11 +00:00
AgentUpdateArgs.cs add an agent position field to AgentUpdateArgs for use by some non-LL clients 2010-01-14 02:16:40 -08:00
Animation.cs Add TriggerScenePresenceUpdated events when an animation is added 2013-06-11 17:18:12 -07:00
AssemblyInfo.cs Deleted all AssemblyFileVersion directives 2013-02-19 17:14:55 -08:00
AssetBase.cs Fix avatar parameter updating for viewer 3 and maybe 2. 2011-09-23 02:59:33 +01:00
AssetLandmark.cs HG Landmarks now working. 2011-06-03 10:26:58 -07:00
AssetPermissions.cs Minor: may avoid crashes of sims that still don't have this configuration section. 2012-09-21 15:04:41 -07:00
AssetRequestToClient.cs Minor: Change OpenSim to OpenSimulator in older copyright headers and LICENSE.txt. 2009-06-01 06:37:14 +00:00
AuthenticateResponse.cs Minor: Change OpenSim to OpenSimulator in older copyright headers and LICENSE.txt. 2009-06-01 06:37:14 +00:00
AvatarAppearance.cs This is an experimental patch that adds support for comparing texture 2013-05-24 13:18:16 -07:00
AvatarAttachment.cs Stop NPCs losing attachments when the source avatar takes them off. 2011-09-03 01:11:16 +01:00
AvatarPickerAvatar.cs minor:comments 2009-08-12 23:34:12 -04:00
AvatarPickerReplyAgentDataArgs.cs minor:comments 2009-08-12 23:34:12 -04:00
AvatarPickerReplyDataArgs.cs Remove empty OSUUID.cs file. Add copyright headers. Minor formatting cleanup. 2008-11-08 14:28:43 +00:00
AvatarWearable.cs Drop the static from default wearables. It isn't 2010-12-27 12:43:54 -08:00
AvatarWearingArgs.cs Remove empty OSUUID.cs file. Add copyright headers. Minor formatting cleanup. 2008-11-08 14:28:43 +00:00
BlockingQueue.cs Revert "Revert "I confuse myself. Let's try this variable name instead."" 2013-07-18 12:25:47 -07:00
Cache.cs Tighten up OpenSim.Framework.Cache locking to avoid race conditions. 2012-08-20 20:55:58 +01:00
CachedTextureEventArg.cs Adds an event and a method so that handling of the CachedTexture 2013-05-08 13:13:51 -07:00
CapsUtil.cs Renamed OpenSim.Framework.Capabilities.dll to OpenSim.Capabilities.dll 2011-04-30 11:03:22 -07:00
ChatTypeEnum.cs Remove empty OSUUID.cs file. Add copyright headers. Minor formatting cleanup. 2008-11-08 14:28:43 +00:00
ChildAgentDataUpdate.cs New Teleport protocol (V2), still compatible with V1 and older. (version of the destination is being checked) 2013-07-24 14:27:58 -07:00
ClientInfo.cs Added show client-stats [first last] command to expose what viewers are requesting. 2013-07-10 16:09:45 -07:00
ClientManager.cs * Converts ClientManager.ForEach() (and as a result, Scene.ForEachClient()) to use a non-blocking parallel method when operating in async mode 2009-10-27 00:26:56 -07:00
CnmMemoryCache.cs Formatting cleanup. 2009-10-01 01:17:47 +09:00
CnmSynchronizedCache.cs Formatting cleanup. 2009-10-01 01:17:47 +09:00
ColliderData.cs Minor: Change OpenSim to OpenSimulator in older copyright headers and LICENSE.txt. 2009-06-01 06:37:14 +00:00
ConfigSettings.cs move see_into_this_sim_from_neighbor [Startup] flag parsing into Scene with the others 2011-10-15 03:03:05 +01:00
ConfigurationMember.cs Make OpenSim.Framework.Servers.HttpServer rely on OpenSim.Framework instead of the other way around. 2011-10-25 20:24:21 +01:00
ConfigurationOption.cs Minor: Change OpenSim to OpenSimulator in older copyright headers and LICENSE.txt. 2009-06-01 06:37:14 +00:00
Constants.cs 4096 is used in various places as the maximum height of a region, refactoring to be a constant 2012-09-08 00:14:39 +01:00
Culture.cs Apply last two patches from http://opensimulator.org/mantis/view.php?id=3522 2010-02-12 23:13:35 +00:00
DAMap.cs minor: remove now unused migration-hack bool from DAMap 2013-07-08 23:32:19 +01:00
DOMap.cs Make the concept of namespaces explicit in dynamic attributes 2013-06-27 23:14:28 +01:00
DoubleDictionaryThreadAbortSafe.cs Use a thread abort safe version of OpenMetaverse.DoubleDictionary with the aim of avoiding OpenSimulator problems due to script thread aborts. 2012-12-07 00:47:04 +00:00
EstateBan.cs Minor: Change OpenSim to OpenSimulator in older copyright headers and LICENSE.txt. 2009-06-01 06:37:14 +00:00
EstateSettings.cs Send up the part missing from the Avination Estate commit. 2013-05-11 01:27:37 +01:00
EventData.cs Minor: Change OpenSim to OpenSimulator in older copyright headers and LICENSE.txt. 2009-06-01 06:37:14 +00:00
ExtraPhysicsData.cs Partial port of Avination's support for the new physics parameters. 2013-02-06 08:03:04 +00:00
ForeignUserProfileData.cs Minor: Change OpenSim to OpenSimulator in older copyright headers and LICENSE.txt. 2009-06-01 06:37:14 +00:00
FriendListItem.cs Change a member of the friendslist module to better reflect the client side 2010-01-19 11:33:42 +00:00
GcNotify.cs If "debug scene updates true" then print out to log when a garbage collection occurs. 2012-03-21 02:02:14 +00:00
GridInstantMessage.cs On receiving TaskInventoryAccepted with a destination folder in the binary bucket slot for RLV, notify the viewer about inventory folder updates. 2012-10-06 02:34:49 +01:00
GroupData.cs replace recent IModule.GetGroup() with better GetGroupRecord(string name) 2010-03-26 00:10:29 +00:00
IAssetLoader.cs Minor: Change OpenSim to OpenSimulator in older copyright headers and LICENSE.txt. 2009-06-01 06:37:14 +00:00
IClientAPI.cs EDIT BEAMS!!! They had been missing from OpenSim since ever. Thanks to lkalif for telling me how to route the information. The viewer effect is under the distance filter, so only avatars with cameras < 10m away see the beams. 2013-07-21 09:01:44 -07:00
ICnmCache.cs Formatting cleanup. 2009-10-01 01:17:47 +09:00
ICommandConsole.cs factor out common HandleShow code for "show uptime" 2012-11-22 04:05:09 +00:00
IConsole.cs factor out common HandleShow code for "show uptime" 2012-11-22 04:05:09 +00:00
IGenericConfig.cs Minor: Change OpenSim to OpenSimulator in older copyright headers and LICENSE.txt. 2009-06-01 06:37:14 +00:00
IImprovedAssetCache.cs Minor: Change OpenSim to OpenSimulator in older copyright headers and LICENSE.txt. 2009-06-01 06:37:14 +00:00
ILandChannel.cs Add ILandChannel.GetLandObject(Vector3 position) as this is a very common input to GetLandObject() 2013-03-14 22:56:26 +00:00
ILandObject.cs Rework Diva's patch to simplify it 2012-03-22 20:25:20 +00:00
IMoneyModule.cs Update the money framework to allow sending the new style linden "serverside is now viewerside" messages regarding currency 2013-05-25 02:08:54 +01:00
IPeople.cs Added AvatarPickerSearch capability handler. 2013-05-07 18:01:48 -07:00
IPlugin.cs Minor: Change OpenSim to OpenSimulator in older copyright headers and LICENSE.txt. 2009-06-01 06:37:14 +00:00
IPrimCounts.cs (re)implement selected prim count. 2011-03-30 00:13:07 +01:00
IRegionCreator.cs Update svn properties, add copyright headers, minor formatting cleanup. 2009-03-01 09:15:31 +00:00
IRegionLoader.cs Minor: Change OpenSim to OpenSimulator in older copyright headers and LICENSE.txt. 2009-06-01 06:37:14 +00:00
IRegistryCore.cs Update svn properties, add copyright headers, minor formatting cleanup. 2009-03-01 09:15:31 +00:00
IScene.cs On startup, start scenes after we're set up all local scenes, rather than starting scenes before others have been created. 2013-05-03 18:48:50 +01:00
ISceneAgent.cs OnConnectionClosed listeners, retrieve data from IClientAPI.SceneAgent rather than scanning all scene for the presence with the right id 2012-06-12 02:43:33 +01:00
ISceneEntity.cs Fix bug where objects could not be set to a new group if the group had been created in that client session, or if no other action has been performed on the object. 2011-12-17 02:23:24 +00:00
ISceneObject.cs Fix bug where objects could not be set to a new group if the group had been created in that client session, or if no other action has been performed on the object. 2011-12-17 02:23:24 +00:00
InventoryCollection.cs Minor: Change OpenSim to OpenSimulator in older copyright headers and LICENSE.txt. 2009-06-01 06:37:14 +00:00
InventoryFolderBase.cs Fix regression introduced in a0d178b2 (Sat Aug 25 02:00:17 2012) where folders with asset type of 'Folder' and 'Unknown' were accidentally treated as system folders. 2012-08-29 02:01:43 +01:00
InventoryFolderImpl.cs Remove manually permissions settings on all current library items so that they use the defaults instead. 2011-07-23 02:13:11 +01:00
InventoryItemBase.cs Remove unnecessary ability to directly set InventoryItemBase.CreatorIdAsUuid 2012-11-17 01:23:29 +00:00
InventoryNodeBase.cs Formatting cleanup. 2009-10-01 01:17:47 +09:00
LandData.cs Fix: invinite loading for Viewer3 : parcelinfo request of traffic-value (implementation of dwell-value in LandData + eventhandler, return always 0); source-formatting of LandData 2012-10-20 05:06:46 -04:00
LandStatReportItem.cs Minor: Change OpenSim to OpenSimulator in older copyright headers and LICENSE.txt. 2009-06-01 06:37:14 +00:00
LandUpdateArgs.cs Formatting cleanup. 2010-09-12 13:43:49 -04:00
Lazy.cs Add copyright headers. 2010-09-12 12:54:31 -04:00
Location.cs * Removing ODEPrim and ODECharacter GetHashCode() overrides since they were based on something that could change 2009-10-20 10:56:15 -07:00
LocklessQueue.cs Committing Avination's memleak fix-a-thon, installment #2 2012-07-23 19:26:21 +01:00
Login.cs Minor: Change OpenSim to OpenSimulator in older copyright headers and LICENSE.txt. 2009-06-01 06:37:14 +00:00
MainConsole.cs Make OpenSim.Framework.Servers.HttpServer rely on OpenSim.Framework instead of the other way around. 2011-10-25 20:24:21 +01:00
MapAndArray.cs Add m_syncRoot lock to MapAndArray.ContainsKey(), as discussed with jhurliman 2010-09-18 01:57:13 +01:00
MapBlockData.cs Minor: Change OpenSim to OpenSimulator in older copyright headers and LICENSE.txt. 2009-06-01 06:37:14 +00:00
MapItemReplyStruct.cs Minor: Change OpenSim to OpenSimulator in older copyright headers and LICENSE.txt. 2009-06-01 06:37:14 +00:00
MinHeap.cs Commiting Avination's memleak fix-a-thon, installment #1 2012-07-23 19:21:59 +01:00
MultipartForm.cs Rename the stream extension method WebUtil.CopyTo() to WebUtil.CopyStream(). 2012-03-12 10:07:04 -07:00
NetworkServersInfo.cs Get rid of some traces of the old pre-ROBUST grid architecture config 2011-10-12 21:51:34 +01:00
NetworkUtil.cs Finished implementing ViaLogin vs ViaHGLogin. Removed lookup on myipaddress.com. Also removed client IP verification upon UDP connection that had been left there -- we can't do that in general. 2010-08-19 19:54:40 -07:00
OSChatMessage.cs Mantis 5977 Corrections to llRegionSayTo 2012-04-23 07:16:33 -04:00
ParcelMediaCommandEnum.cs * Added IClientIM to IClientCore interfaces 2008-11-08 17:20:54 +00:00
PluginLoader.cs * Unregister Mono.Addins event handlers in PluginLoader.Dispose() and always handle PluginLoader with the using pattern. This freed up 121,634,796 bytes on my system 2009-10-23 13:14:29 -07:00
PluginManager.cs minor: Remove some mono compiler warnings in OpenSim.Framework.dll 2013-03-13 23:17:27 +00:00
Pool.cs Add object count stats for new IncomingPacket and UDPPacketBuffer pools if they are enabled. Add count stats for existing LLUDP pool. 2012-10-23 01:52:10 +01:00
PresenceType.cs Don't try to save changed attachment states when an NPC with attachments is removed from the scene. 2011-08-18 00:53:05 +01:00
PrimeNumberHelper.cs Formatting cleanup. Ignore some generated files. 2009-06-09 18:07:35 +00:00
PrimitiveBaseShape.cs Fixed ReadSculptData(): the check whether there are enough bytes to read was incorrect 2013-02-09 02:04:26 +00:00
PriorityQueue.cs minor: remove mono compiler warnings 2011-05-06 22:45:03 +01:00
RegionFlags.cs minor: Add documentation to IGridService.GetRegionFlags() 2012-10-09 01:40:55 +01:00
RegionHandshakeArgs.cs Remove empty OSUUID.cs file. Add copyright headers. Minor formatting cleanup. 2008-11-08 14:28:43 +00:00
RegionInfo.cs Allow use of MaptileStaticUUID in Regions.ini to override the global setting in OpenSim.ini for each region. 2013-01-30 23:37:02 -05:00
RegionInfoForEstateMenuArgs.cs Plumb the region type through to the ProductName field in estate messages 2010-08-24 12:41:21 +01:00
RegionSettings.cs Save the Telehub and its Spawn Points in the OAR 2012-05-14 19:59:45 +01:00
RegistryCore.cs Update svn properties, add copyright headers, minor formatting cleanup. 2009-03-01 09:15:31 +00:00
RequestAssetArgs.cs Remove empty OSUUID.cs file. Add copyright headers. Minor formatting cleanup. 2008-11-08 14:28:43 +00:00
SLUtil.cs Refactored how asset/inventory types are associated with content types: gathered all the knowledge into a single class. Added the Mesh content type. 2012-04-26 22:49:14 +01:00
SimStats.cs Formatting cleanup. 2009-10-01 01:17:47 +09:00
SurfaceTouchEventArgs.cs * Added IClientIM to IClientCore interfaces 2008-11-08 17:20:54 +00:00
TaskInventoryDictionary.cs Make "show object part" command correctly display script status. 2012-10-31 00:31:18 +00:00
TaskInventoryItem.cs Make "show object part" command correctly display script status. 2012-10-31 00:31:18 +00:00
TextureRequestArgs.cs * Patch from RemedyTomm Mantis 3440 2009-04-10 08:30:21 +00:00
ThrottleOutPacketType.cs Complete removal of the now unused state queue 2013-01-16 16:45:18 +00:00
UntrustedWebRequest.cs Revert "Added request.Proxy=null everywhere, as discussed in http://stackoverflow.com/questions/2519655/httpwebrequest-is-extremely-slow." 2012-09-30 07:48:03 -07:00
UpdateShapeArgs.cs Remove empty OSUUID.cs file. Add copyright headers. Minor formatting cleanup. 2008-11-08 14:28:43 +00:00
UserAgentData.cs Minor: Change OpenSim to OpenSimulator in older copyright headers and LICENSE.txt. 2009-06-01 06:37:14 +00:00
UserProfileData.cs Getting rid of the dead field RootInventoryFolderId on UserProfileData, It's not even stored in mysql. 2009-12-06 03:57:15 +00:00
UserProfiles.cs Adding standard OpenSim header to source files 2013-05-31 22:03:27 -04:00
Util.cs Merge branch 'master' of git://opensimulator.org/git/opensim 2013-07-18 02:28:36 -07:00
ViewerEffectEventHandlerArg.cs Remove empty OSUUID.cs file. Add copyright headers. Minor formatting cleanup. 2008-11-08 14:28:43 +00:00
WebUtil.cs Revert "WARNING: BRUTE FORCE DEBUG. AVOID USING THIS COMMIT." 2013-07-04 13:25:58 -07:00