aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/Modules/Communications/Local/LocalInterregionComms.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/Modules/Communications/Local/LocalInterregionComms.cs
parentMinor fix for HG request neighbors. Should not return hyperlink neighbors, on... (diff)
downloadopensim-SC_OLD-d8ebf2fc9d7d2e50735d50e75f7153f487efe958.zip
opensim-SC_OLD-d8ebf2fc9d7d2e50735d50e75f7153f487efe958.tar.gz
opensim-SC_OLD-d8ebf2fc9d7d2e50735d50e75f7153f487efe958.tar.bz2
opensim-SC_OLD-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 'OpenSim/Region/Environment/Modules/Communications/Local/LocalInterregionComms.cs')
-rw-r--r--OpenSim/Region/Environment/Modules/Communications/Local/LocalInterregionComms.cs52
1 files changed, 43 insertions, 9 deletions
diff --git a/OpenSim/Region/Environment/Modules/Communications/Local/LocalInterregionComms.cs b/OpenSim/Region/Environment/Modules/Communications/Local/LocalInterregionComms.cs
index 781bf1c..9f547a2 100644
--- a/OpenSim/Region/Environment/Modules/Communications/Local/LocalInterregionComms.cs
+++ b/OpenSim/Region/Environment/Modules/Communications/Local/LocalInterregionComms.cs
@@ -120,23 +120,57 @@ namespace OpenSim.Region.Environment.Modules.Communications.Local
120 120
121 public bool SendChildAgentUpdate(ulong regionHandle, AgentData cAgentData) 121 public bool SendChildAgentUpdate(ulong regionHandle, AgentData cAgentData)
122 { 122 {
123 lock (m_sceneList) 123 foreach (Scene s in m_sceneList)
124 { 124 {
125 foreach (Scene s in m_sceneList) 125 if (s.RegionInfo.RegionHandle == regionHandle)
126 { 126 {
127 if (s.RegionInfo.RegionHandle == regionHandle) 127 //m_log.Debug("[LOCAL COMMS]: Found region to send ChildAgentUpdate");
128 { 128 s.IncomingChildAgentDataUpdate(cAgentData);
129 //m_log.Debug("[LOCAL COMMS]: Found region to send ChildAgentUpdate"); 129 return true;
130 return s.IncomingChildAgentDataUpdate(cAgentData);
131 //if (OnChildAgentUpdate != null)
132 // return OnChildAgentUpdate(cAgentData);
133 }
134 } 130 }
135 } 131 }
136 //m_log.Debug("[LOCAL COMMS]: region not found for ChildAgentUpdate"); 132 //m_log.Debug("[LOCAL COMMS]: region not found for ChildAgentUpdate");
137 return false; 133 return false;
138 } 134 }
139 135
136 public bool SendReleaseAgent(ulong regionHandle, UUID id, string uri)
137 {
138 //uint x, y;
139 //Utils.LongToUInts(regionHandle, out x, out y);
140 //x = x / Constants.RegionSize;
141 //y = y / Constants.RegionSize;
142 //Console.WriteLine("\n >>> Local SendReleaseAgent " + x + "-" + y);
143 foreach (Scene s in m_sceneList)
144 {
145 if (s.RegionInfo.RegionHandle == regionHandle)
146 {
147 //m_log.Debug("[LOCAL COMMS]: Found region to SendReleaseAgent");
148 return s.IncomingReleaseAgent(id);
149 }
150 }
151 //m_log.Debug("[LOCAL COMMS]: region not found in SendReleaseAgent");
152 return false;
153 }
154
155 public bool SendCloseAgent(ulong regionHandle, UUID id)
156 {
157 //uint x, y;
158 //Utils.LongToUInts(regionHandle, out x, out y);
159 //x = x / Constants.RegionSize;
160 //y = y / Constants.RegionSize;
161 //Console.WriteLine("\n >>> Local SendCloseAgent " + x + "-" + y);
162 foreach (Scene s in m_sceneList)
163 {
164 if (s.RegionInfo.RegionHandle == regionHandle)
165 {
166 //m_log.Debug("[LOCAL COMMS]: Found region to SendCloseAgent");
167 return s.IncomingCloseAgent(id);
168 }
169 }
170 //m_log.Debug("[LOCAL COMMS]: region not found in SendCloseAgent");
171 return false;
172 }
173
140 #endregion /* IInterregionComms */ 174 #endregion /* IInterregionComms */
141 } 175 }
142} 176}