diff options
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/Hypergrid/HGGridServicesStandalone.cs')
-rw-r--r-- | OpenSim/Region/Communications/Hypergrid/HGGridServicesStandalone.cs | 12 |
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; |