aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/Scenes/Scene.cs
diff options
context:
space:
mode:
authordiva2009-01-01 19:42:24 +0000
committerdiva2009-01-01 19:42:24 +0000
commitd8ebf2fc9d7d2e50735d50e75f7153f487efe958 (patch)
treec14d5e80e3d34d0a2f547cb3d0b965dea8e55e90 /OpenSim/Region/Environment/Scenes/Scene.cs
parentMinor fix for HG request neighbors. Should not return hyperlink neighbors, on... (diff)
downloadopensim-SC-d8ebf2fc9d7d2e50735d50e75f7153f487efe958.zip
opensim-SC-d8ebf2fc9d7d2e50735d50e75f7153f487efe958.tar.gz
opensim-SC-d8ebf2fc9d7d2e50735d50e75f7153f487efe958.tar.bz2
opensim-SC-d8ebf2fc9d7d2e50735d50e75f7153f487efe958.tar.xz
Major changes in interregion communications. This breaks compatibility with older versions, and may result is all sorts of weirdnesses when interacting with sims in older versions. Changes:
- Introducing synchronous Teleports. Now the receiving region calls back the sending region after the client has been made a root agent there, that is, after client sends CompleteMovement to the destination. - SendCloseAgent moved from OGS1 Remoting to RESTComms.
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/Environment/Scenes/Scene.cs21
1 files changed, 16 insertions, 5 deletions
diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs
index 56b5df6..13b9169 100644
--- a/OpenSim/Region/Environment/Scenes/Scene.cs
+++ b/OpenSim/Region/Environment/Scenes/Scene.cs
@@ -2692,7 +2692,7 @@ namespace OpenSim.Region.Environment.Scenes
2692 { 2692 {
2693 m_sceneGridService.OnExpectUser += NewUserConnection; 2693 m_sceneGridService.OnExpectUser += NewUserConnection;
2694 m_sceneGridService.OnAvatarCrossingIntoRegion += AgentCrossing; 2694 m_sceneGridService.OnAvatarCrossingIntoRegion += AgentCrossing;
2695 m_sceneGridService.OnCloseAgentConnection += CloseConnection; 2695 m_sceneGridService.OnCloseAgentConnection += IncomingCloseAgent;
2696 m_sceneGridService.OnRegionUp += OtherRegionUp; 2696 m_sceneGridService.OnRegionUp += OtherRegionUp;
2697 //m_sceneGridService.OnChildAgentUpdate += IncomingChildAgentDataUpdate; 2697 //m_sceneGridService.OnChildAgentUpdate += IncomingChildAgentDataUpdate;
2698 m_sceneGridService.OnExpectPrim += IncomingInterRegionPrimGroup; 2698 m_sceneGridService.OnExpectPrim += IncomingInterRegionPrimGroup;
@@ -2724,7 +2724,7 @@ namespace OpenSim.Region.Environment.Scenes
2724 m_sceneGridService.OnRegionUp -= OtherRegionUp; 2724 m_sceneGridService.OnRegionUp -= OtherRegionUp;
2725 m_sceneGridService.OnExpectUser -= NewUserConnection; 2725 m_sceneGridService.OnExpectUser -= NewUserConnection;
2726 m_sceneGridService.OnAvatarCrossingIntoRegion -= AgentCrossing; 2726 m_sceneGridService.OnAvatarCrossingIntoRegion -= AgentCrossing;
2727 m_sceneGridService.OnCloseAgentConnection -= CloseConnection; 2727 m_sceneGridService.OnCloseAgentConnection -= IncomingCloseAgent;
2728 m_sceneGridService.OnGetLandData -= GetLandData; 2728 m_sceneGridService.OnGetLandData -= GetLandData;
2729 2729
2730 if (m_interregionCommsIn != null) 2730 if (m_interregionCommsIn != null)
@@ -2979,12 +2979,22 @@ namespace OpenSim.Region.Environment.Scenes
2979 return false; 2979 return false;
2980 } 2980 }
2981 2981
2982 public virtual bool IncomingReleaseAgent(UUID id)
2983 {
2984 return m_sceneGridService.ReleaseAgent(id);
2985 }
2986
2987 public void SendReleaseAgent(ulong regionHandle, UUID id, string uri)
2988 {
2989 m_interregionCommsOut.SendReleaseAgent(regionHandle, id, uri);
2990 }
2991
2982 /// <summary> 2992 /// <summary>
2983 /// Tell a single agent to disconnect from the region. 2993 /// Tell a single agent to disconnect from the region.
2984 /// </summary> 2994 /// </summary>
2985 /// <param name="regionHandle"></param> 2995 /// <param name="regionHandle"></param>
2986 /// <param name="agentID"></param> 2996 /// <param name="agentID"></param>
2987 public bool CloseConnection(UUID agentID) 2997 public bool IncomingCloseAgent(UUID agentID)
2988 { 2998 {
2989 ScenePresence presence = m_sceneGraph.GetScenePresence(agentID); 2999 ScenePresence presence = m_sceneGraph.GetScenePresence(agentID);
2990 if (presence != null) 3000 if (presence != null)
@@ -3013,9 +3023,10 @@ namespace OpenSim.Region.Environment.Scenes
3013 presence.ControllingClient.SendShutdownConnectionNotice(); 3023 presence.ControllingClient.SendShutdownConnectionNotice();
3014 } 3024 }
3015 presence.ControllingClient.Close(true); 3025 presence.ControllingClient.Close(true);
3016 3026 return true;
3017 } 3027 }
3018 return true; 3028 // Agent not here
3029 return false;
3019 } 3030 }
3020 3031
3021 /// <summary> 3032 /// <summary>