diff options
author | diva | 2009-02-09 22:27:27 +0000 |
---|---|---|
committer | diva | 2009-02-09 22:27:27 +0000 |
commit | 2c685bff1493451849580cfb6bf44b88322bf0a4 (patch) | |
tree | 4179700c2b1fcbcc7a5ab07f7bc65b3bf97a79d9 /OpenSim/Region/Communications/Hypergrid | |
parent | Thank you kindly, TLaukkan (Timmil) for a patch that: (diff) | |
download | opensim-SC_OLD-2c685bff1493451849580cfb6bf44b88322bf0a4.zip opensim-SC_OLD-2c685bff1493451849580cfb6bf44b88322bf0a4.tar.gz opensim-SC_OLD-2c685bff1493451849580cfb6bf44b88322bf0a4.tar.bz2 opensim-SC_OLD-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 '')
-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; |