diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Framework/IRegionCommsListener.cs | 18 | ||||
-rw-r--r-- | OpenSim/Framework/RegionCommsListener.cs | 45 | ||||
-rw-r--r-- | OpenSim/Region/Application/OpenSim.cs | 2 | ||||
-rw-r--r-- | OpenSim/Region/Communications/Local/LocalBackEndServices.cs | 49 | ||||
-rw-r--r-- | OpenSim/Region/Environment/Modules/InterGrid/OpenGridProtocolModule.cs | 2 | ||||
-rw-r--r-- | OpenSim/Region/Environment/Scenes/Scene.cs | 178 | ||||
-rw-r--r-- | OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs | 39 |
7 files changed, 167 insertions, 166 deletions
diff --git a/OpenSim/Framework/IRegionCommsListener.cs b/OpenSim/Framework/IRegionCommsListener.cs index 2f0c113..5b5e456 100644 --- a/OpenSim/Framework/IRegionCommsListener.cs +++ b/OpenSim/Framework/IRegionCommsListener.cs | |||
@@ -30,27 +30,27 @@ using OpenMetaverse; | |||
30 | 30 | ||
31 | namespace OpenSim.Framework | 31 | namespace OpenSim.Framework |
32 | { | 32 | { |
33 | public delegate void ExpectUserDelegate(ulong regionHandle, AgentCircuitData agent); | 33 | public delegate void ExpectUserDelegate(AgentCircuitData agent); |
34 | 34 | ||
35 | public delegate bool ExpectPrimDelegate(ulong regionHandle, UUID primID, string objData, int XMLMethod); | 35 | public delegate bool ExpectPrimDelegate(UUID primID, string objData, int XMLMethod); |
36 | 36 | ||
37 | public delegate void UpdateNeighbours(List<RegionInfo> neighbours); | 37 | public delegate void UpdateNeighbours(List<RegionInfo> neighbours); |
38 | 38 | ||
39 | public delegate void AgentCrossing(ulong regionHandle, UUID agentID, Vector3 position, bool isFlying); | 39 | public delegate void AgentCrossing(UUID agentID, Vector3 position, bool isFlying); |
40 | 40 | ||
41 | public delegate void PrimCrossing(ulong regionHandle, UUID primID, Vector3 position, bool isPhysical); | 41 | public delegate void PrimCrossing(UUID primID, Vector3 position, bool isPhysical); |
42 | 42 | ||
43 | public delegate void AcknowledgeAgentCross(ulong regionHandle, UUID agentID); | 43 | public delegate void AcknowledgeAgentCross(UUID agentID); |
44 | 44 | ||
45 | public delegate void AcknowledgePrimCross(ulong regionHandle, UUID PrimID); | 45 | public delegate void AcknowledgePrimCross(UUID PrimID); |
46 | 46 | ||
47 | public delegate bool CloseAgentConnection(ulong regionHandle, UUID agentID); | 47 | public delegate bool CloseAgentConnection(UUID agentID); |
48 | 48 | ||
49 | public delegate bool RegionUp(RegionInfo region); | 49 | public delegate bool RegionUp(RegionInfo region); |
50 | 50 | ||
51 | public delegate bool ChildAgentUpdate(ulong regionHandle, ChildAgentDataUpdate cAgentData); | 51 | public delegate bool ChildAgentUpdate(ChildAgentDataUpdate cAgentData); |
52 | 52 | ||
53 | public delegate void LogOffUser(ulong regionHandle, UUID agentID, UUID regionSecret, string message); | 53 | public delegate void LogOffUser(UUID agentID, UUID regionSecret, string message); |
54 | 54 | ||
55 | public delegate LandData GetLandData(uint x, uint y); | 55 | public delegate LandData GetLandData(uint x, uint y); |
56 | 56 | ||
diff --git a/OpenSim/Framework/RegionCommsListener.cs b/OpenSim/Framework/RegionCommsListener.cs index 5d3c2fe..b45d7b9 100644 --- a/OpenSim/Framework/RegionCommsListener.cs +++ b/OpenSim/Framework/RegionCommsListener.cs | |||
@@ -31,6 +31,9 @@ using OpenMetaverse; | |||
31 | 31 | ||
32 | namespace OpenSim.Framework | 32 | namespace OpenSim.Framework |
33 | { | 33 | { |
34 | /// <summary> | ||
35 | /// Sandbox mode region comms listener. There is one of these per region | ||
36 | /// </summary> | ||
34 | public class RegionCommsListener : IRegionCommsListener | 37 | public class RegionCommsListener : IRegionCommsListener |
35 | { | 38 | { |
36 | public string debugRegionName = String.Empty; | 39 | public string debugRegionName = String.Empty; |
@@ -71,12 +74,12 @@ namespace OpenSim.Framework | |||
71 | /// </summary> | 74 | /// </summary> |
72 | /// <param name="agent"></param> | 75 | /// <param name="agent"></param> |
73 | /// <returns></returns> | 76 | /// <returns></returns> |
74 | public virtual bool TriggerExpectUser(ulong regionHandle, AgentCircuitData agent) | 77 | public virtual bool TriggerExpectUser(AgentCircuitData agent) |
75 | { | 78 | { |
76 | handlerExpectUser = OnExpectUser; | 79 | handlerExpectUser = OnExpectUser; |
77 | if (handlerExpectUser != null) | 80 | if (handlerExpectUser != null) |
78 | { | 81 | { |
79 | handlerExpectUser(regionHandle, agent); | 82 | handlerExpectUser(agent); |
80 | return true; | 83 | return true; |
81 | } | 84 | } |
82 | 85 | ||
@@ -84,23 +87,22 @@ namespace OpenSim.Framework | |||
84 | } | 87 | } |
85 | 88 | ||
86 | // From User Server | 89 | // From User Server |
87 | public virtual void TriggerLogOffUser(ulong regionHandle, UUID agentID, UUID RegionSecret, string message) | 90 | public virtual void TriggerLogOffUser(UUID agentID, UUID RegionSecret, string message) |
88 | { | 91 | { |
89 | handlerLogOffUser = OnLogOffUser; | 92 | handlerLogOffUser = OnLogOffUser; |
90 | if (handlerLogOffUser != null) | 93 | if (handlerLogOffUser != null) |
91 | { | 94 | { |
92 | handlerLogOffUser(regionHandle, agentID, RegionSecret, message); | 95 | handlerLogOffUser(agentID, RegionSecret, message); |
93 | } | 96 | } |
94 | 97 | ||
95 | } | 98 | } |
96 | 99 | ||
97 | 100 | public virtual bool TriggerExpectPrim(UUID primID, string objData, int XMLMethod) | |
98 | public virtual bool TriggerExpectPrim(ulong regionHandle, UUID primID, string objData, int XMLMethod) | ||
99 | { | 101 | { |
100 | handlerExpectPrim = OnExpectPrim; | 102 | handlerExpectPrim = OnExpectPrim; |
101 | if (handlerExpectPrim != null) | 103 | if (handlerExpectPrim != null) |
102 | { | 104 | { |
103 | handlerExpectPrim(regionHandle, primID, objData, XMLMethod); | 105 | handlerExpectPrim(primID, objData, XMLMethod); |
104 | return true; | 106 | return true; |
105 | } | 107 | } |
106 | return false; | 108 | return false; |
@@ -117,69 +119,68 @@ namespace OpenSim.Framework | |||
117 | return false; | 119 | return false; |
118 | } | 120 | } |
119 | 121 | ||
120 | public virtual bool TriggerChildAgentUpdate(ulong regionHandle, ChildAgentDataUpdate cAgentData) | 122 | public virtual bool TriggerChildAgentUpdate(ChildAgentDataUpdate cAgentData) |
121 | { | 123 | { |
122 | handlerChildAgentUpdate = OnChildAgentUpdate; | 124 | handlerChildAgentUpdate = OnChildAgentUpdate; |
123 | if (handlerChildAgentUpdate != null) | 125 | if (handlerChildAgentUpdate != null) |
124 | { | 126 | { |
125 | handlerChildAgentUpdate(regionHandle, cAgentData); | 127 | handlerChildAgentUpdate(cAgentData); |
126 | return true; | 128 | return true; |
127 | } | 129 | } |
128 | return false; | 130 | return false; |
129 | } | 131 | } |
130 | 132 | ||
131 | public virtual bool TriggerExpectAvatarCrossing(ulong regionHandle, UUID agentID, Vector3 position, | 133 | public virtual bool TriggerExpectAvatarCrossing(UUID agentID, Vector3 position, bool isFlying) |
132 | bool isFlying) | ||
133 | { | 134 | { |
134 | handlerAvatarCrossingIntoRegion = OnAvatarCrossingIntoRegion; | 135 | handlerAvatarCrossingIntoRegion = OnAvatarCrossingIntoRegion; |
135 | if (handlerAvatarCrossingIntoRegion != null) | 136 | if (handlerAvatarCrossingIntoRegion != null) |
136 | { | 137 | { |
137 | handlerAvatarCrossingIntoRegion(regionHandle, agentID, position, isFlying); | 138 | handlerAvatarCrossingIntoRegion(agentID, position, isFlying); |
138 | return true; | 139 | return true; |
139 | } | 140 | } |
140 | return false; | 141 | return false; |
141 | } | 142 | } |
142 | 143 | ||
143 | public virtual bool TriggerExpectPrimCrossing(ulong regionHandle, UUID primID, Vector3 position, | 144 | public virtual bool TriggerExpectPrimCrossing(UUID primID, Vector3 position, |
144 | bool isPhysical) | 145 | bool isPhysical) |
145 | { | 146 | { |
146 | handlerPrimCrossingIntoRegion = OnPrimCrossingIntoRegion; | 147 | handlerPrimCrossingIntoRegion = OnPrimCrossingIntoRegion; |
147 | if (handlerPrimCrossingIntoRegion != null) | 148 | if (handlerPrimCrossingIntoRegion != null) |
148 | { | 149 | { |
149 | handlerPrimCrossingIntoRegion(regionHandle, primID, position, isPhysical); | 150 | handlerPrimCrossingIntoRegion(primID, position, isPhysical); |
150 | return true; | 151 | return true; |
151 | } | 152 | } |
152 | return false; | 153 | return false; |
153 | } | 154 | } |
154 | 155 | ||
155 | public virtual bool TriggerAcknowledgeAgentCrossed(ulong regionHandle, UUID agentID) | 156 | public virtual bool TriggerAcknowledgeAgentCrossed(UUID agentID) |
156 | { | 157 | { |
157 | handlerAcknowledgeAgentCrossed = OnAcknowledgeAgentCrossed; | 158 | handlerAcknowledgeAgentCrossed = OnAcknowledgeAgentCrossed; |
158 | if (handlerAcknowledgeAgentCrossed != null) | 159 | if (handlerAcknowledgeAgentCrossed != null) |
159 | { | 160 | { |
160 | handlerAcknowledgeAgentCrossed(regionHandle, agentID); | 161 | handlerAcknowledgeAgentCrossed(agentID); |
161 | return true; | 162 | return true; |
162 | } | 163 | } |
163 | return false; | 164 | return false; |
164 | } | 165 | } |
165 | 166 | ||
166 | public virtual bool TriggerAcknowledgePrimCrossed(ulong regionHandle, UUID primID) | 167 | public virtual bool TriggerAcknowledgePrimCrossed(UUID primID) |
167 | { | 168 | { |
168 | handlerAcknowledgePrimCrossed = OnAcknowledgePrimCrossed; | 169 | handlerAcknowledgePrimCrossed = OnAcknowledgePrimCrossed; |
169 | if (handlerAcknowledgePrimCrossed != null) | 170 | if (handlerAcknowledgePrimCrossed != null) |
170 | { | 171 | { |
171 | handlerAcknowledgePrimCrossed(regionHandle, primID); | 172 | handlerAcknowledgePrimCrossed(primID); |
172 | return true; | 173 | return true; |
173 | } | 174 | } |
174 | return false; | 175 | return false; |
175 | } | 176 | } |
176 | 177 | ||
177 | public virtual bool TriggerCloseAgentConnection(ulong regionHandle, UUID agentID) | 178 | public virtual bool TriggerCloseAgentConnection(UUID agentID) |
178 | { | 179 | { |
179 | handlerCloseAgentConnection = OnCloseAgentConnection; | 180 | handlerCloseAgentConnection = OnCloseAgentConnection; |
180 | if (handlerCloseAgentConnection != null) | 181 | if (handlerCloseAgentConnection != null) |
181 | { | 182 | { |
182 | handlerCloseAgentConnection(regionHandle, agentID); | 183 | handlerCloseAgentConnection(agentID); |
183 | return true; | 184 | return true; |
184 | } | 185 | } |
185 | return false; | 186 | return false; |
@@ -220,11 +221,11 @@ namespace OpenSim.Framework | |||
220 | return false; | 221 | return false; |
221 | } | 222 | } |
222 | 223 | ||
223 | public bool TriggerTellRegionToCloseChildConnection(ulong regionHandle, UUID agentID) | 224 | public bool TriggerTellRegionToCloseChildConnection(UUID agentID) |
224 | { | 225 | { |
225 | handlerCloseAgentConnection = OnCloseAgentConnection; | 226 | handlerCloseAgentConnection = OnCloseAgentConnection; |
226 | if (handlerCloseAgentConnection != null) | 227 | if (handlerCloseAgentConnection != null) |
227 | return handlerCloseAgentConnection(regionHandle, agentID); | 228 | return handlerCloseAgentConnection(agentID); |
228 | 229 | ||
229 | return false; | 230 | return false; |
230 | } | 231 | } |
diff --git a/OpenSim/Region/Application/OpenSim.cs b/OpenSim/Region/Application/OpenSim.cs index 884b081..e3aee9d 100644 --- a/OpenSim/Region/Application/OpenSim.cs +++ b/OpenSim/Region/Application/OpenSim.cs | |||
@@ -163,7 +163,7 @@ namespace OpenSim | |||
163 | presence.UUID, | 163 | presence.UUID, |
164 | regionInfo.RegionName)); | 164 | regionInfo.RegionName)); |
165 | 165 | ||
166 | presence.Scene.CloseConnection(regionInfo.RegionHandle, presence.UUID); | 166 | presence.Scene.CloseConnection(presence.UUID); |
167 | } | 167 | } |
168 | } | 168 | } |
169 | m_console.Notice(""); | 169 | m_console.Notice(""); |
diff --git a/OpenSim/Region/Communications/Local/LocalBackEndServices.cs b/OpenSim/Region/Communications/Local/LocalBackEndServices.cs index 4980378..ddba124 100644 --- a/OpenSim/Region/Communications/Local/LocalBackEndServices.cs +++ b/OpenSim/Region/Communications/Local/LocalBackEndServices.cs | |||
@@ -167,7 +167,7 @@ namespace OpenSim.Region.Communications.Local | |||
167 | } | 167 | } |
168 | 168 | ||
169 | /// <summary> | 169 | /// <summary> |
170 | /// | 170 | /// Get information about a neighbouring region |
171 | /// </summary> | 171 | /// </summary> |
172 | /// <param name="regionHandle"></param> | 172 | /// <param name="regionHandle"></param> |
173 | /// <returns></returns> | 173 | /// <returns></returns> |
@@ -177,9 +177,15 @@ namespace OpenSim.Region.Communications.Local | |||
177 | { | 177 | { |
178 | return m_regions[regionHandle]; | 178 | return m_regions[regionHandle]; |
179 | } | 179 | } |
180 | |||
180 | return null; | 181 | return null; |
181 | } | 182 | } |
182 | 183 | ||
184 | /// <summary> | ||
185 | /// Get information about a neighbouring region | ||
186 | /// </summary> | ||
187 | /// <param name="regionHandle"></param> | ||
188 | /// <returns></returns> | ||
183 | public RegionInfo RequestNeighbourInfo(UUID regionID) | 189 | public RegionInfo RequestNeighbourInfo(UUID regionID) |
184 | { | 190 | { |
185 | // TODO add a dictionary for faster lookup | 191 | // TODO add a dictionary for faster lookup |
@@ -188,9 +194,15 @@ namespace OpenSim.Region.Communications.Local | |||
188 | if (info.RegionID == regionID) | 194 | if (info.RegionID == regionID) |
189 | return info; | 195 | return info; |
190 | } | 196 | } |
197 | |||
191 | return null; | 198 | return null; |
192 | } | 199 | } |
193 | 200 | ||
201 | /// <summary> | ||
202 | /// Get information about the closet region given a region name. | ||
203 | /// </summary> | ||
204 | /// <param name="regionName"></param> | ||
205 | /// <returns></returns> | ||
194 | public RegionInfo RequestClosestRegion(string regionName) | 206 | public RegionInfo RequestClosestRegion(string regionName) |
195 | { | 207 | { |
196 | foreach (RegionInfo regInfo in m_regions.Values) | 208 | foreach (RegionInfo regInfo in m_regions.Values) |
@@ -236,7 +248,7 @@ namespace OpenSim.Region.Communications.Local | |||
236 | { | 248 | { |
237 | if (m_regionListeners.ContainsKey(regionHandle)) | 249 | if (m_regionListeners.ContainsKey(regionHandle)) |
238 | { | 250 | { |
239 | return m_regionListeners[regionHandle].TriggerTellRegionToCloseChildConnection(regionHandle, agentID); | 251 | return m_regionListeners[regionHandle].TriggerTellRegionToCloseChildConnection(agentID); |
240 | } | 252 | } |
241 | return false; | 253 | return false; |
242 | } | 254 | } |
@@ -263,7 +275,7 @@ namespace OpenSim.Region.Communications.Local | |||
263 | if (m_regionListeners.ContainsKey(regionHandle)) | 275 | if (m_regionListeners.ContainsKey(regionHandle)) |
264 | { | 276 | { |
265 | // Console.WriteLine("CommsManager- Informing a region to expect child agent"); | 277 | // Console.WriteLine("CommsManager- Informing a region to expect child agent"); |
266 | m_regionListeners[regionHandle].TriggerChildAgentUpdate(regionHandle, cAgentData); | 278 | m_regionListeners[regionHandle].TriggerChildAgentUpdate(cAgentData); |
267 | //m_log.Info("[INTER]: " + rdebugRegionName + ":Local BackEnd: Got Listener trigginering local event: " + agentData.firstname + " " + agentData.lastname); | 279 | //m_log.Info("[INTER]: " + rdebugRegionName + ":Local BackEnd: Got Listener trigginering local event: " + agentData.firstname + " " + agentData.lastname); |
268 | 280 | ||
269 | return true; | 281 | return true; |
@@ -285,7 +297,7 @@ namespace OpenSim.Region.Communications.Local | |||
285 | return returnGridSettings; | 297 | return returnGridSettings; |
286 | } | 298 | } |
287 | 299 | ||
288 | public virtual void SetForcefulBanlistsDisallowed(ulong regionHandle) | 300 | public virtual void SetForcefulBanlistsDisallowed() |
289 | { | 301 | { |
290 | m_queuedGridSettings.Add("allow_forceful_banlines", "FALSE"); | 302 | m_queuedGridSettings.Add("allow_forceful_banlines", "FALSE"); |
291 | } | 303 | } |
@@ -304,8 +316,9 @@ namespace OpenSim.Region.Communications.Local | |||
304 | { | 316 | { |
305 | if (m_regionListeners.ContainsKey(regionHandle)) | 317 | if (m_regionListeners.ContainsKey(regionHandle)) |
306 | { | 318 | { |
307 | return m_regionListeners[regionHandle].TriggerChildAgentUpdate(regionHandle, cAgentData); | 319 | return m_regionListeners[regionHandle].TriggerChildAgentUpdate(cAgentData); |
308 | } | 320 | } |
321 | |||
309 | return false; | 322 | return false; |
310 | } | 323 | } |
311 | 324 | ||
@@ -313,8 +326,9 @@ namespace OpenSim.Region.Communications.Local | |||
313 | { | 326 | { |
314 | if (m_regionListeners.ContainsKey(regionHandle)) | 327 | if (m_regionListeners.ContainsKey(regionHandle)) |
315 | { | 328 | { |
316 | return m_regionListeners[regionHandle].TriggerTellRegionToCloseChildConnection(regionHandle, agentID); | 329 | return m_regionListeners[regionHandle].TriggerTellRegionToCloseChildConnection(agentID); |
317 | } | 330 | } |
331 | |||
318 | return false; | 332 | return false; |
319 | } | 333 | } |
320 | 334 | ||
@@ -333,7 +347,7 @@ namespace OpenSim.Region.Communications.Local | |||
333 | if (m_regionListeners.ContainsKey(regionHandle)) | 347 | if (m_regionListeners.ContainsKey(regionHandle)) |
334 | { | 348 | { |
335 | // Console.WriteLine("CommsManager- Informing a region to expect child agent"); | 349 | // Console.WriteLine("CommsManager- Informing a region to expect child agent"); |
336 | m_regionListeners[regionHandle].TriggerExpectUser(regionHandle, agentData); | 350 | m_regionListeners[regionHandle].TriggerExpectUser(agentData); |
337 | //m_log.Info("[INTER]: " + rdebugRegionName + ":Local BackEnd: Got Listener trigginering local event: " + agentData.firstname + " " + agentData.lastname); | 351 | //m_log.Info("[INTER]: " + rdebugRegionName + ":Local BackEnd: Got Listener trigginering local event: " + agentData.firstname + " " + agentData.lastname); |
338 | 352 | ||
339 | return true; | 353 | return true; |
@@ -345,14 +359,15 @@ namespace OpenSim.Region.Communications.Local | |||
345 | { | 359 | { |
346 | if (m_regionListeners.ContainsKey(regionHandle)) | 360 | if (m_regionListeners.ContainsKey(regionHandle)) |
347 | { | 361 | { |
348 | m_regionListeners[regionHandle].TriggerExpectPrim(regionHandle, primID, objData, XMLMethod); | 362 | m_regionListeners[regionHandle].TriggerExpectPrim(primID, objData, XMLMethod); |
349 | return true; | 363 | return true; |
350 | } | 364 | } |
365 | |||
351 | return false; | 366 | return false; |
352 | } | 367 | } |
353 | 368 | ||
354 | /// <summary> | 369 | /// <summary> |
355 | /// | 370 | /// Tell a region to get prepare for an avatar to cross into it. |
356 | /// </summary> | 371 | /// </summary> |
357 | /// <param name="regionHandle"></param> | 372 | /// <param name="regionHandle"></param> |
358 | /// <param name="agentID"></param> | 373 | /// <param name="agentID"></param> |
@@ -363,7 +378,7 @@ namespace OpenSim.Region.Communications.Local | |||
363 | if (m_regionListeners.ContainsKey(regionHandle)) | 378 | if (m_regionListeners.ContainsKey(regionHandle)) |
364 | { | 379 | { |
365 | // Console.WriteLine("CommsManager- Informing a region to expect avatar crossing"); | 380 | // Console.WriteLine("CommsManager- Informing a region to expect avatar crossing"); |
366 | m_regionListeners[regionHandle].TriggerExpectAvatarCrossing(regionHandle, agentID, position, isFlying); | 381 | m_regionListeners[regionHandle].TriggerExpectAvatarCrossing(agentID, position, isFlying); |
367 | return true; | 382 | return true; |
368 | } | 383 | } |
369 | return false; | 384 | return false; |
@@ -373,9 +388,10 @@ namespace OpenSim.Region.Communications.Local | |||
373 | { | 388 | { |
374 | if (m_regionListeners.ContainsKey(regionHandle)) | 389 | if (m_regionListeners.ContainsKey(regionHandle)) |
375 | { | 390 | { |
376 | m_regionListeners[regionHandle].TriggerExpectPrimCrossing(regionHandle, primID, position, isPhysical); | 391 | m_regionListeners[regionHandle].TriggerExpectPrimCrossing(primID, position, isPhysical); |
377 | return true; | 392 | return true; |
378 | } | 393 | } |
394 | |||
379 | return false; | 395 | return false; |
380 | } | 396 | } |
381 | 397 | ||
@@ -429,7 +445,7 @@ namespace OpenSim.Region.Communications.Local | |||
429 | { | 445 | { |
430 | //m_log.Info("[INTER]: " + rdebugRegionName + ":Local BackEnd: FoundLocalRegion To send it to: " + agent.firstname + " " + agent.lastname); | 446 | //m_log.Info("[INTER]: " + rdebugRegionName + ":Local BackEnd: FoundLocalRegion To send it to: " + agent.firstname + " " + agent.lastname); |
431 | 447 | ||
432 | m_regionListeners[regionHandle].TriggerExpectUser(regionHandle, agent); | 448 | m_regionListeners[regionHandle].TriggerExpectUser(agent); |
433 | } | 449 | } |
434 | } | 450 | } |
435 | 451 | ||
@@ -439,7 +455,7 @@ namespace OpenSim.Region.Communications.Local | |||
439 | { | 455 | { |
440 | //m_log.Info("[INTER]: " + rdebugRegionName + ":Local BackEnd: FoundLocalRegion To send it to: " + agent.firstname + " " + agent.lastname); | 456 | //m_log.Info("[INTER]: " + rdebugRegionName + ":Local BackEnd: FoundLocalRegion To send it to: " + agent.firstname + " " + agent.lastname); |
441 | 457 | ||
442 | m_regionListeners[regionHandle].TriggerLogOffUser(regionHandle, agentID, RegionSecret, message); | 458 | m_regionListeners[regionHandle].TriggerLogOffUser(agentID, RegionSecret, message); |
443 | } | 459 | } |
444 | } | 460 | } |
445 | 461 | ||
@@ -447,7 +463,7 @@ namespace OpenSim.Region.Communications.Local | |||
447 | { | 463 | { |
448 | if (m_regionListeners.ContainsKey(regionHandle)) | 464 | if (m_regionListeners.ContainsKey(regionHandle)) |
449 | { | 465 | { |
450 | m_regionListeners[regionHandle].TriggerExpectPrim(regionHandle, primID, objData, XMLMethod); | 466 | m_regionListeners[regionHandle].TriggerExpectPrim(primID, objData, XMLMethod); |
451 | } | 467 | } |
452 | } | 468 | } |
453 | 469 | ||
@@ -468,8 +484,7 @@ namespace OpenSim.Region.Communications.Local | |||
468 | { | 484 | { |
469 | if (m_regionListeners.ContainsKey(regionHandle)) | 485 | if (m_regionListeners.ContainsKey(regionHandle)) |
470 | { | 486 | { |
471 | return m_regionListeners[regionHandle].TriggerExpectAvatarCrossing(regionHandle, agentID, position, | 487 | return m_regionListeners[regionHandle].TriggerExpectAvatarCrossing(agentID, position, isFlying); |
472 | isFlying); | ||
473 | } | 488 | } |
474 | 489 | ||
475 | return false; | 490 | return false; |
@@ -480,7 +495,7 @@ namespace OpenSim.Region.Communications.Local | |||
480 | if (m_regionListeners.ContainsKey(regionHandle)) | 495 | if (m_regionListeners.ContainsKey(regionHandle)) |
481 | { | 496 | { |
482 | return | 497 | return |
483 | m_regionListeners[regionHandle].TriggerExpectPrimCrossing(regionHandle, primID, position, isPhysical); | 498 | m_regionListeners[regionHandle].TriggerExpectPrimCrossing(primID, position, isPhysical); |
484 | } | 499 | } |
485 | return false; | 500 | return false; |
486 | } | 501 | } |
diff --git a/OpenSim/Region/Environment/Modules/InterGrid/OpenGridProtocolModule.cs b/OpenSim/Region/Environment/Modules/InterGrid/OpenGridProtocolModule.cs index ba40571..5b06408 100644 --- a/OpenSim/Region/Environment/Modules/InterGrid/OpenGridProtocolModule.cs +++ b/OpenSim/Region/Environment/Modules/InterGrid/OpenGridProtocolModule.cs | |||
@@ -546,7 +546,7 @@ namespace OpenSim.Region.Environment.Modules.InterGrid | |||
546 | homeScene.CommsManager.UserProfileCacheService.PreloadUserCache(agentData.AgentID, userProfile); | 546 | homeScene.CommsManager.UserProfileCacheService.PreloadUserCache(agentData.AgentID, userProfile); |
547 | 547 | ||
548 | // Call 'new user' event handler | 548 | // Call 'new user' event handler |
549 | homeScene.NewUserConnection(reg.RegionHandle, agentData); | 549 | homeScene.NewUserConnection(agentData); |
550 | 550 | ||
551 | //string raCap = string.Empty; | 551 | //string raCap = string.Empty; |
552 | 552 | ||
diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs index ceadf7a..0d0823e 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.cs | |||
@@ -2106,9 +2106,10 @@ namespace OpenSim.Region.Environment.Scenes | |||
2106 | /// <param name="objXMLData"></param> | 2106 | /// <param name="objXMLData"></param> |
2107 | /// <param name="XMLMethod"></param> | 2107 | /// <param name="XMLMethod"></param> |
2108 | /// <returns></returns> | 2108 | /// <returns></returns> |
2109 | public bool IncomingInterRegionPrimGroup(ulong regionHandle, UUID primID, string objXMLData, int XMLMethod) | 2109 | public bool IncomingInterRegionPrimGroup(UUID primID, string objXMLData, int XMLMethod) |
2110 | { | 2110 | { |
2111 | m_log.Warn("[INTERREGION]: A new prim arrived from a neighbor"); | 2111 | m_log.DebugFormat("[INTERREGION]: A new prim {0} arrived from a neighbor", primID); |
2112 | |||
2112 | if (XMLMethod == 0) | 2113 | if (XMLMethod == 0) |
2113 | { | 2114 | { |
2114 | SceneObjectGroup sceneObject = m_serialiser.DeserializeGroupFromXml2(objXMLData); | 2115 | SceneObjectGroup sceneObject = m_serialiser.DeserializeGroupFromXml2(objXMLData); |
@@ -2702,51 +2703,42 @@ namespace OpenSim.Region.Environment.Scenes | |||
2702 | /// </summary> | 2703 | /// </summary> |
2703 | /// <param name="regionHandle"></param> | 2704 | /// <param name="regionHandle"></param> |
2704 | /// <param name="agent"></param> | 2705 | /// <param name="agent"></param> |
2705 | public void NewUserConnection(ulong regionHandle, AgentCircuitData agent) | 2706 | public void NewUserConnection(AgentCircuitData agent) |
2706 | { | 2707 | { |
2707 | if (regionHandle == m_regInfo.RegionHandle) | 2708 | if (m_regInfo.EstateSettings.IsBanned(agent.AgentID)) |
2708 | { | 2709 | { |
2709 | if (m_regInfo.EstateSettings.IsBanned(agent.AgentID)) | 2710 | m_log.WarnFormat( |
2710 | { | 2711 | "[CONNECTION DEBUGGING]: Denied access to: {0} at {1} because the user is on the region banlist", |
2711 | m_log.WarnFormat( | 2712 | agent.AgentID, RegionInfo.RegionName); |
2712 | "[CONNECTION DEBUGGING]: Denied access to: {0} [{1}] at {2} because the user is on the region banlist", | 2713 | } |
2713 | agent.AgentID, regionHandle, RegionInfo.RegionName); | ||
2714 | } | ||
2715 | 2714 | ||
2716 | capsPaths[agent.AgentID] = agent.CapsPath; | 2715 | capsPaths[agent.AgentID] = agent.CapsPath; |
2717 | 2716 | ||
2718 | if (!agent.child) | 2717 | if (!agent.child) |
2719 | { | 2718 | { |
2720 | AddCapsHandler(agent.AgentID); | 2719 | AddCapsHandler(agent.AgentID); |
2721 | 2720 | ||
2722 | // Honor parcel landing type and position. | 2721 | // Honor parcel landing type and position. |
2723 | ILandObject land = LandChannel.GetLandObject(agent.startpos.X, agent.startpos.Y); | 2722 | ILandObject land = LandChannel.GetLandObject(agent.startpos.X, agent.startpos.Y); |
2724 | if (land != null) | 2723 | if (land != null) |
2724 | { | ||
2725 | if (land.landData.LandingType == (byte)1 && land.landData.UserLocation != Vector3.Zero) | ||
2725 | { | 2726 | { |
2726 | if (land.landData.LandingType == (byte)1 && land.landData.UserLocation != Vector3.Zero) | 2727 | agent.startpos = land.landData.UserLocation; |
2727 | { | ||
2728 | agent.startpos = land.landData.UserLocation; | ||
2729 | } | ||
2730 | } | 2728 | } |
2731 | } | 2729 | } |
2730 | } | ||
2732 | 2731 | ||
2733 | m_authenticateHandler.AddNewCircuit(agent.circuitcode, agent); | 2732 | m_authenticateHandler.AddNewCircuit(agent.circuitcode, agent); |
2734 | // rewrite session_id | 2733 | // rewrite session_id |
2735 | CachedUserInfo userinfo = CommsManager.UserProfileCacheService.GetUserDetails(agent.AgentID); | 2734 | CachedUserInfo userinfo = CommsManager.UserProfileCacheService.GetUserDetails(agent.AgentID); |
2736 | if (userinfo != null) | 2735 | if (userinfo != null) |
2737 | { | 2736 | { |
2738 | userinfo.SessionID = agent.SessionID; | 2737 | userinfo.SessionID = agent.SessionID; |
2739 | } | ||
2740 | else | ||
2741 | { | ||
2742 | m_log.WarnFormat("[USERINFO CACHE]: We couldn't find a User Info record for {0}. This is usually an indication that the UUID we're looking up is invalid", agent.AgentID); | ||
2743 | } | ||
2744 | } | 2738 | } |
2745 | else | 2739 | else |
2746 | { | 2740 | { |
2747 | m_log.WarnFormat( | 2741 | m_log.WarnFormat("[USERINFO CACHE]: We couldn't find a User Info record for {0}. This is usually an indication that the UUID we're looking up is invalid", agent.AgentID); |
2748 | "[CONNECTION DEBUGGING]: Skipping this region for welcoming avatar {0} [{1}] at {2}", | ||
2749 | agent.AgentID, regionHandle, RegionInfo.RegionName); | ||
2750 | } | 2742 | } |
2751 | } | 2743 | } |
2752 | 2744 | ||
@@ -2760,31 +2752,28 @@ namespace OpenSim.Region.Environment.Scenes | |||
2760 | return m_authenticateHandler.TryChangeCiruitCode(oldcc, newcc); | 2752 | return m_authenticateHandler.TryChangeCiruitCode(oldcc, newcc); |
2761 | } | 2753 | } |
2762 | 2754 | ||
2763 | protected void HandleLogOffUserFromGrid(ulong regionHandle, UUID AvatarID, UUID RegionSecret, string message) | 2755 | protected void HandleLogOffUserFromGrid(UUID AvatarID, UUID RegionSecret, string message) |
2764 | { | 2756 | { |
2765 | if (RegionInfo.RegionHandle == regionHandle) | 2757 | ScenePresence loggingOffUser = null; |
2758 | loggingOffUser = GetScenePresence(AvatarID); | ||
2759 | if (loggingOffUser != null) | ||
2766 | { | 2760 | { |
2767 | ScenePresence loggingOffUser = null; | 2761 | if (RegionSecret == loggingOffUser.ControllingClient.SecureSessionId) |
2768 | loggingOffUser = GetScenePresence(AvatarID); | ||
2769 | if (loggingOffUser != null) | ||
2770 | { | 2762 | { |
2771 | if (RegionSecret == loggingOffUser.ControllingClient.SecureSessionId) | 2763 | loggingOffUser.ControllingClient.Kick(message); |
2772 | { | 2764 | // Give them a second to receive the message! |
2773 | loggingOffUser.ControllingClient.Kick(message); | 2765 | System.Threading.Thread.Sleep(1000); |
2774 | // Give them a second to receive the message! | 2766 | loggingOffUser.ControllingClient.Close(true); |
2775 | System.Threading.Thread.Sleep(1000); | ||
2776 | loggingOffUser.ControllingClient.Close(true); | ||
2777 | } | ||
2778 | else | ||
2779 | { | ||
2780 | m_log.Info("[USERLOGOFF]: System sending the LogOff user message failed to sucessfully authenticate"); | ||
2781 | } | ||
2782 | } | 2767 | } |
2783 | else | 2768 | else |
2784 | { | 2769 | { |
2785 | m_log.InfoFormat("[USERLOGOFF]: Got a logoff request for {0} but the user isn't here. The user might already have been logged out", AvatarID.ToString()); | 2770 | m_log.Info("[USERLOGOFF]: System sending the LogOff user message failed to sucessfully authenticate"); |
2786 | } | 2771 | } |
2787 | } | 2772 | } |
2773 | else | ||
2774 | { | ||
2775 | m_log.InfoFormat("[USERLOGOFF]: Got a logoff request for {0} but the user isn't here. The user might already have been logged out", AvatarID.ToString()); | ||
2776 | } | ||
2788 | } | 2777 | } |
2789 | 2778 | ||
2790 | /// <summary> | 2779 | /// <summary> |
@@ -2865,42 +2854,38 @@ namespace OpenSim.Region.Environment.Scenes | |||
2865 | /// <summary> | 2854 | /// <summary> |
2866 | /// Triggered when an agent crosses into this sim. Also happens on initial login. | 2855 | /// Triggered when an agent crosses into this sim. Also happens on initial login. |
2867 | /// </summary> | 2856 | /// </summary> |
2868 | /// <param name="regionHandle"></param> | ||
2869 | /// <param name="agentID"></param> | 2857 | /// <param name="agentID"></param> |
2870 | /// <param name="position"></param> | 2858 | /// <param name="position"></param> |
2871 | /// <param name="isFlying"></param> | 2859 | /// <param name="isFlying"></param> |
2872 | public virtual void AgentCrossing(ulong regionHandle, UUID agentID, Vector3 position, bool isFlying) | 2860 | public virtual void AgentCrossing(UUID agentID, Vector3 position, bool isFlying) |
2873 | { | 2861 | { |
2874 | if (regionHandle == m_regInfo.RegionHandle) | 2862 | ScenePresence presence; |
2863 | |||
2864 | lock (m_scenePresences) | ||
2875 | { | 2865 | { |
2876 | ScenePresence presence; | 2866 | m_scenePresences.TryGetValue(agentID, out presence); |
2877 | 2867 | } | |
2878 | lock (m_scenePresences) | 2868 | |
2869 | if (presence != null) | ||
2870 | { | ||
2871 | try | ||
2879 | { | 2872 | { |
2880 | m_scenePresences.TryGetValue(agentID, out presence); | 2873 | presence.MakeRootAgent(position, isFlying); |
2881 | } | 2874 | } |
2882 | 2875 | catch (Exception e) | |
2883 | if (presence != null) | ||
2884 | { | ||
2885 | try | ||
2886 | { | ||
2887 | presence.MakeRootAgent(position, isFlying); | ||
2888 | } | ||
2889 | catch (Exception e) | ||
2890 | { | ||
2891 | m_log.ErrorFormat("[SCENE]: Unable to do agent crossing, exception {0}", e); | ||
2892 | } | ||
2893 | } | ||
2894 | else | ||
2895 | { | 2876 | { |
2896 | m_log.ErrorFormat( | 2877 | m_log.ErrorFormat("[SCENE]: Unable to do agent crossing, exception {0}", e); |
2897 | "[SCENE]: Could not find presence for agent {0} crossing into scene {1}", | ||
2898 | agentID, RegionInfo.RegionName); | ||
2899 | } | 2878 | } |
2900 | } | 2879 | } |
2880 | else | ||
2881 | { | ||
2882 | m_log.ErrorFormat( | ||
2883 | "[SCENE]: Could not find presence for agent {0} crossing into scene {1}", | ||
2884 | agentID, RegionInfo.RegionName); | ||
2885 | } | ||
2901 | } | 2886 | } |
2902 | 2887 | ||
2903 | public virtual bool IncomingChildAgentDataUpdate(ulong regionHandle, ChildAgentDataUpdate cAgentData) | 2888 | public virtual bool IncomingChildAgentDataUpdate(ChildAgentDataUpdate cAgentData) |
2904 | { | 2889 | { |
2905 | ScenePresence childAgentUpdate = GetScenePresence(new UUID(cAgentData.AgentID)); | 2890 | ScenePresence childAgentUpdate = GetScenePresence(new UUID(cAgentData.AgentID)); |
2906 | if (childAgentUpdate != null) | 2891 | if (childAgentUpdate != null) |
@@ -2918,8 +2903,10 @@ namespace OpenSim.Region.Environment.Scenes | |||
2918 | // Not Implemented: | 2903 | // Not Implemented: |
2919 | //TODO: Do we need to pass the message on to one of our neighbors? | 2904 | //TODO: Do we need to pass the message on to one of our neighbors? |
2920 | } | 2905 | } |
2906 | |||
2921 | return true; | 2907 | return true; |
2922 | } | 2908 | } |
2909 | |||
2923 | return false; | 2910 | return false; |
2924 | } | 2911 | } |
2925 | 2912 | ||
@@ -2928,29 +2915,28 @@ namespace OpenSim.Region.Environment.Scenes | |||
2928 | /// </summary> | 2915 | /// </summary> |
2929 | /// <param name="regionHandle"></param> | 2916 | /// <param name="regionHandle"></param> |
2930 | /// <param name="agentID"></param> | 2917 | /// <param name="agentID"></param> |
2931 | public bool CloseConnection(ulong regionHandle, UUID agentID) | 2918 | public bool CloseConnection(UUID agentID) |
2932 | { | 2919 | { |
2933 | if (regionHandle == m_regionHandle) | 2920 | ScenePresence presence = m_innerScene.GetScenePresence(agentID); |
2921 | |||
2922 | if (presence != null) | ||
2934 | { | 2923 | { |
2935 | ScenePresence presence = m_innerScene.GetScenePresence(agentID); | 2924 | // Nothing is removed here, so down count it as such |
2936 | if (presence != null) | 2925 | // if (presence.IsChildAgent) |
2937 | { | 2926 | // { |
2938 | // Nothing is removed here, so down count it as such | 2927 | // m_innerScene.removeUserCount(false); |
2939 | // if (presence.IsChildAgent) | 2928 | // } |
2940 | // { | 2929 | // else |
2941 | // m_innerScene.removeUserCount(false); | 2930 | // { |
2942 | // } | 2931 | // m_innerScene.removeUserCount(true); |
2943 | // else | 2932 | // } |
2944 | // { | 2933 | |
2945 | // m_innerScene.removeUserCount(true); | 2934 | // Tell a single agent to disconnect from the region. |
2946 | // } | 2935 | presence.ControllingClient.SendShutdownConnectionNotice(); |
2947 | 2936 | ||
2948 | // Tell a single agent to disconnect from the region. | 2937 | presence.ControllingClient.Close(true); |
2949 | presence.ControllingClient.SendShutdownConnectionNotice(); | ||
2950 | |||
2951 | presence.ControllingClient.Close(true); | ||
2952 | } | ||
2953 | } | 2938 | } |
2939 | |||
2954 | return true; | 2940 | return true; |
2955 | } | 2941 | } |
2956 | 2942 | ||
diff --git a/OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs b/OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs index 540303a..830a63d 100644 --- a/OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs +++ b/OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs | |||
@@ -155,22 +155,22 @@ namespace OpenSim.Region.Environment.Scenes | |||
155 | /// <param name="regionHandle"></param> | 155 | /// <param name="regionHandle"></param> |
156 | /// <param name="agent"></param> | 156 | /// <param name="agent"></param> |
157 | /// | 157 | /// |
158 | protected void NewUserConnection(ulong regionHandle, AgentCircuitData agent) | 158 | protected void NewUserConnection(AgentCircuitData agent) |
159 | { | 159 | { |
160 | handlerExpectUser = OnExpectUser; | 160 | handlerExpectUser = OnExpectUser; |
161 | if (handlerExpectUser != null) | 161 | if (handlerExpectUser != null) |
162 | { | 162 | { |
163 | //m_log.Info("[INTER]: " + debugRegionName + ": SceneCommunicationService: OnExpectUser Fired for User:" + agent.firstname + " " + agent.lastname); | 163 | //m_log.Info("[INTER]: " + debugRegionName + ": SceneCommunicationService: OnExpectUser Fired for User:" + agent.firstname + " " + agent.lastname); |
164 | handlerExpectUser(regionHandle, agent); | 164 | handlerExpectUser(agent); |
165 | } | 165 | } |
166 | } | 166 | } |
167 | 167 | ||
168 | protected void GridLogOffUser(ulong regionHandle, UUID AgentID, UUID RegionSecret, string message) | 168 | protected void GridLogOffUser(UUID AgentID, UUID RegionSecret, string message) |
169 | { | 169 | { |
170 | handlerLogOffUser = OnLogOffUser; | 170 | handlerLogOffUser = OnLogOffUser; |
171 | if (handlerLogOffUser != null) | 171 | if (handlerLogOffUser != null) |
172 | { | 172 | { |
173 | handlerLogOffUser(regionHandle, AgentID, RegionSecret, message); | 173 | handlerLogOffUser(AgentID, RegionSecret, message); |
174 | } | 174 | } |
175 | } | 175 | } |
176 | 176 | ||
@@ -185,31 +185,31 @@ namespace OpenSim.Region.Environment.Scenes | |||
185 | return true; | 185 | return true; |
186 | } | 186 | } |
187 | 187 | ||
188 | protected bool ChildAgentUpdate(ulong regionHandle, ChildAgentDataUpdate cAgentData) | 188 | protected bool ChildAgentUpdate(ChildAgentDataUpdate cAgentData) |
189 | { | 189 | { |
190 | handlerChildAgentUpdate = OnChildAgentUpdate; | 190 | handlerChildAgentUpdate = OnChildAgentUpdate; |
191 | if (handlerChildAgentUpdate != null) | 191 | if (handlerChildAgentUpdate != null) |
192 | handlerChildAgentUpdate(regionHandle, cAgentData); | 192 | handlerChildAgentUpdate(cAgentData); |
193 | 193 | ||
194 | 194 | ||
195 | return true; | 195 | return true; |
196 | } | 196 | } |
197 | 197 | ||
198 | protected void AgentCrossing(ulong regionHandle, UUID agentID, Vector3 position, bool isFlying) | 198 | protected void AgentCrossing(UUID agentID, Vector3 position, bool isFlying) |
199 | { | 199 | { |
200 | handlerAvatarCrossingIntoRegion = OnAvatarCrossingIntoRegion; | 200 | handlerAvatarCrossingIntoRegion = OnAvatarCrossingIntoRegion; |
201 | if (handlerAvatarCrossingIntoRegion != null) | 201 | if (handlerAvatarCrossingIntoRegion != null) |
202 | { | 202 | { |
203 | handlerAvatarCrossingIntoRegion(regionHandle, agentID, position, isFlying); | 203 | handlerAvatarCrossingIntoRegion(agentID, position, isFlying); |
204 | } | 204 | } |
205 | } | 205 | } |
206 | 206 | ||
207 | protected bool IncomingPrimCrossing(ulong regionHandle, UUID primID, String objXMLData, int XMLMethod) | 207 | protected bool IncomingPrimCrossing(UUID primID, String objXMLData, int XMLMethod) |
208 | { | 208 | { |
209 | handlerExpectPrim = OnExpectPrim; | 209 | handlerExpectPrim = OnExpectPrim; |
210 | if (handlerExpectPrim != null) | 210 | if (handlerExpectPrim != null) |
211 | { | 211 | { |
212 | return handlerExpectPrim(regionHandle, primID, objXMLData, XMLMethod); | 212 | return handlerExpectPrim(primID, objXMLData, XMLMethod); |
213 | } | 213 | } |
214 | else | 214 | else |
215 | { | 215 | { |
@@ -218,23 +218,25 @@ namespace OpenSim.Region.Environment.Scenes | |||
218 | 218 | ||
219 | } | 219 | } |
220 | 220 | ||
221 | protected void PrimCrossing(ulong regionHandle, UUID primID, Vector3 position, bool isPhysical) | 221 | protected void PrimCrossing(UUID primID, Vector3 position, bool isPhysical) |
222 | { | 222 | { |
223 | handlerPrimCrossingIntoRegion = OnPrimCrossingIntoRegion; | 223 | handlerPrimCrossingIntoRegion = OnPrimCrossingIntoRegion; |
224 | if (handlerPrimCrossingIntoRegion != null) | 224 | if (handlerPrimCrossingIntoRegion != null) |
225 | { | 225 | { |
226 | handlerPrimCrossingIntoRegion(regionHandle, primID, position, isPhysical); | 226 | handlerPrimCrossingIntoRegion(primID, position, isPhysical); |
227 | } | 227 | } |
228 | } | 228 | } |
229 | 229 | ||
230 | protected bool CloseConnection(ulong regionHandle, UUID agentID) | 230 | protected bool CloseConnection(UUID agentID) |
231 | { | 231 | { |
232 | m_log.Info("[INTERREGION]: Incoming Agent Close Request for agent: " + agentID.ToString()); | 232 | m_log.Debug("[INTERREGION]: Incoming Agent Close Request for agent: " + agentID); |
233 | |||
233 | handlerCloseAgentConnection = OnCloseAgentConnection; | 234 | handlerCloseAgentConnection = OnCloseAgentConnection; |
234 | if (handlerCloseAgentConnection != null) | 235 | if (handlerCloseAgentConnection != null) |
235 | { | 236 | { |
236 | return handlerCloseAgentConnection(regionHandle, agentID); | 237 | return handlerCloseAgentConnection(agentID); |
237 | } | 238 | } |
239 | |||
238 | return false; | 240 | return false; |
239 | } | 241 | } |
240 | 242 | ||
@@ -416,8 +418,6 @@ namespace OpenSim.Region.Environment.Scenes | |||
416 | // yes, we're notifying ourselves. | 418 | // yes, we're notifying ourselves. |
417 | if (handlerRegionUp != null) | 419 | if (handlerRegionUp != null) |
418 | handlerRegionUp(region); | 420 | handlerRegionUp(region); |
419 | |||
420 | |||
421 | } | 421 | } |
422 | else | 422 | else |
423 | { | 423 | { |
@@ -726,7 +726,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
726 | { | 726 | { |
727 | SendCloseChildAgentConnections(avatar.UUID,avatar.GetKnownRegionList()); | 727 | SendCloseChildAgentConnections(avatar.UUID,avatar.GetKnownRegionList()); |
728 | SendCloseChildAgentConnections(avatar.UUID, childRegions); | 728 | SendCloseChildAgentConnections(avatar.UUID, childRegions); |
729 | CloseConnection(m_regionInfo.RegionHandle, avatar.UUID); | 729 | CloseConnection(avatar.UUID); |
730 | } | 730 | } |
731 | // if (teleport success) // seems to be always success here | 731 | // if (teleport success) // seems to be always success here |
732 | // the user may change their profile information in other region, | 732 | // the user may change their profile information in other region, |
@@ -763,7 +763,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
763 | } | 763 | } |
764 | 764 | ||
765 | /// <summary> | 765 | /// <summary> |
766 | /// | 766 | /// Inform a neighbouring region that an avatar is about to cross into it. |
767 | /// </summary> | 767 | /// </summary> |
768 | /// <param name="regionhandle"></param> | 768 | /// <param name="regionhandle"></param> |
769 | /// <param name="agentID"></param> | 769 | /// <param name="agentID"></param> |
@@ -778,7 +778,6 @@ namespace OpenSim.Region.Environment.Scenes | |||
778 | return m_commsProvider.InterRegion.InformRegionOfPrimCrossing(regionhandle, primID, objData, XMLMethod); | 778 | return m_commsProvider.InterRegion.InformRegionOfPrimCrossing(regionhandle, primID, objData, XMLMethod); |
779 | } | 779 | } |
780 | 780 | ||
781 | |||
782 | public Dictionary<string, string> GetGridSettings() | 781 | public Dictionary<string, string> GetGridSettings() |
783 | { | 782 | { |
784 | return m_commsProvider.GridService.GetGridSettings(); | 783 | return m_commsProvider.GridService.GetGridSettings(); |