aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Communications
diff options
context:
space:
mode:
authordiva2009-02-09 22:27:27 +0000
committerdiva2009-02-09 22:27:27 +0000
commit2c685bff1493451849580cfb6bf44b88322bf0a4 (patch)
tree4179700c2b1fcbcc7a5ab07f7bc65b3bf97a79d9 /OpenSim/Region/Communications
parentThank you kindly, TLaukkan (Timmil) for a patch that: (diff)
downloadopensim-SC-2c685bff1493451849580cfb6bf44b88322bf0a4.zip
opensim-SC-2c685bff1493451849580cfb6bf44b88322bf0a4.tar.gz
opensim-SC-2c685bff1493451849580cfb6bf44b88322bf0a4.tar.bz2
opensim-SC-2c685bff1493451849580cfb6bf44b88322bf0a4.tar.xz
Moved prim crossing out of OGS1 and into RESTComms and LocalInterregionComms. This breaks interregion comms with older versions in what concerns prim crossing. In the process of moving the comms, a few things seem to be working better, namely this may address mantis #3011, mantis #1698. Hopefully, this doesn't break anything else. But I'm still seeing weirdnesses with attchments jumping out of place after a cross/TP.
The two most notable changes in the crossing process were: * Object gets passed in only one message, not two as done before. * Local object crossings do not get serialized, as done before.
Diffstat (limited to 'OpenSim/Region/Communications')
-rw-r--r--OpenSim/Region/Communications/Hypergrid/HGGridServicesStandalone.cs12
1 files changed, 12 insertions, 0 deletions
diff --git a/OpenSim/Region/Communications/Hypergrid/HGGridServicesStandalone.cs b/OpenSim/Region/Communications/Hypergrid/HGGridServicesStandalone.cs
index a2453db..0f6b4c7 100644
--- a/OpenSim/Region/Communications/Hypergrid/HGGridServicesStandalone.cs
+++ b/OpenSim/Region/Communications/Hypergrid/HGGridServicesStandalone.cs
@@ -461,6 +461,16 @@ namespace OpenSim.Region.Communications.Hypergrid
461 regInfo = RequestNeighbourInfo(regionHandle); 461 regInfo = RequestNeighbourInfo(regionHandle);
462 if (regInfo != null) 462 if (regInfo != null)
463 { 463 {
464 try
465 {
466 regionHandle = Convert.ToUInt64(regInfo.regionSecret);
467 }
468 catch (Exception)
469 {
470 m_log.Warn("[HGrid]: Invalid hyperlink region.");
471 return false;
472 }
473
464 //don't want to be creating a new link to the remote instance every time like we are here 474 //don't want to be creating a new link to the remote instance every time like we are here
465 bool retValue = false; 475 bool retValue = false;
466 476
@@ -472,6 +482,7 @@ namespace OpenSim.Region.Communications.Hypergrid
472 482
473 if (remObject != null) 483 if (remObject != null)
474 { 484 {
485 m_log.Debug("[HGrid]: Inform region of prim crossing: " + regInfo.RemotingAddress + ":" + regInfo.RemotingPort);
475 retValue = remObject.InformRegionOfPrimCrossing(regionHandle, primID.Guid, objData, XMLMethod); 486 retValue = remObject.InformRegionOfPrimCrossing(regionHandle, primID.Guid, objData, XMLMethod);
476 } 487 }
477 else 488 else
@@ -810,6 +821,7 @@ namespace OpenSim.Region.Communications.Hypergrid
810 /// <returns></returns> 821 /// <returns></returns>
811 public bool IncomingPrim(ulong regionHandle, UUID primID, string objData, int XMLMethod) 822 public bool IncomingPrim(ulong regionHandle, UUID primID, string objData, int XMLMethod)
812 { 823 {
824 m_log.Debug("[HGrid]: Incoming Prim");
813 m_localBackend.TriggerExpectPrim(regionHandle, primID, objData, XMLMethod); 825 m_localBackend.TriggerExpectPrim(regionHandle, primID, objData, XMLMethod);
814 826
815 return true; 827 return true;