aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Communications
diff options
context:
space:
mode:
authorJustin Clarke Casey2008-11-12 19:12:33 +0000
committerJustin Clarke Casey2008-11-12 19:12:33 +0000
commitb636bb0f9ec50252164da6e94f2f7b71af8afe6b (patch)
tree64487d9680429e3ffc708e03dd33f8d5522cf802 /OpenSim/Region/Communications
parentChange HTTP server backlog/acceptors to 64, per Adam Z (diff)
downloadopensim-SC-b636bb0f9ec50252164da6e94f2f7b71af8afe6b.zip
opensim-SC-b636bb0f9ec50252164da6e94f2f7b71af8afe6b.tar.gz
opensim-SC-b636bb0f9ec50252164da6e94f2f7b71af8afe6b.tar.bz2
opensim-SC-b636bb0f9ec50252164da6e94f2f7b71af8afe6b.tar.xz
* Stop the pointless passing of a scene's own region handler back to it in region comms
* Some scene methods ignored it, others did nothing if the region handler given did not match their own (which would never be triggered)
Diffstat (limited to 'OpenSim/Region/Communications')
-rw-r--r--OpenSim/Region/Communications/Local/LocalBackEndServices.cs49
1 files changed, 32 insertions, 17 deletions
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 }