diff options
Diffstat (limited to 'OpenSim/Region/Communications/OGS1/OGS1GridServices.cs')
-rw-r--r-- | OpenSim/Region/Communications/OGS1/OGS1GridServices.cs | 32 |
1 files changed, 20 insertions, 12 deletions
diff --git a/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs b/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs index d19752c..22bb0f0 100644 --- a/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs +++ b/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs | |||
@@ -857,6 +857,8 @@ namespace OpenSim.Region.Communications.OGS1 | |||
857 | // The region asking the grid services about itself.. | 857 | // The region asking the grid services about itself.. |
858 | // And, surprisingly, the reason is.. it doesn't know | 858 | // And, surprisingly, the reason is.. it doesn't know |
859 | // it's own remoting port! How special. | 859 | // it's own remoting port! How special. |
860 | RegionUpData regiondata = new RegionUpData(region.RegionLocX, region.RegionLocY, region.ExternalHostName, region.InternalEndPoint.Port); | ||
861 | |||
860 | region = new SearializableRegionInfo(RequestNeighbourInfo(region.RegionHandle)); | 862 | region = new SearializableRegionInfo(RequestNeighbourInfo(region.RegionHandle)); |
861 | region.RemotingAddress = region.ExternalHostName; | 863 | region.RemotingAddress = region.ExternalHostName; |
862 | region.RemotingPort = NetworkServersInfo.RemotingListenerPort; | 864 | region.RemotingPort = NetworkServersInfo.RemotingListenerPort; |
@@ -885,7 +887,7 @@ namespace OpenSim.Region.Communications.OGS1 | |||
885 | 887 | ||
886 | if (remObject != null) | 888 | if (remObject != null) |
887 | { | 889 | { |
888 | retValue = remObject.RegionUp(region, regionhandle); | 890 | retValue = remObject.RegionUp(regiondata, regionhandle); |
889 | } | 891 | } |
890 | else | 892 | else |
891 | { | 893 | { |
@@ -962,7 +964,7 @@ namespace OpenSim.Region.Communications.OGS1 | |||
962 | /// <param name="regionHandle"></param> | 964 | /// <param name="regionHandle"></param> |
963 | /// <param name="agentData"></param> | 965 | /// <param name="agentData"></param> |
964 | /// <returns></returns> | 966 | /// <returns></returns> |
965 | public bool InformRegionOfPrimCrossing(ulong regionHandle, LLUUID primID, string objData) | 967 | public bool InformRegionOfPrimCrossing(ulong regionHandle, LLUUID primID, string objData, int XMLMethod) |
966 | { | 968 | { |
967 | int failures = 0; | 969 | int failures = 0; |
968 | lock (m_deadRegionCache) | 970 | lock (m_deadRegionCache) |
@@ -977,7 +979,7 @@ namespace OpenSim.Region.Communications.OGS1 | |||
977 | RegionInfo regInfo = null; | 979 | RegionInfo regInfo = null; |
978 | try | 980 | try |
979 | { | 981 | { |
980 | if (m_localBackend.InformRegionOfPrimCrossing(regionHandle, primID, objData)) | 982 | if (m_localBackend.InformRegionOfPrimCrossing(regionHandle, primID, objData, XMLMethod)) |
981 | { | 983 | { |
982 | return true; | 984 | return true; |
983 | } | 985 | } |
@@ -996,7 +998,7 @@ namespace OpenSim.Region.Communications.OGS1 | |||
996 | 998 | ||
997 | if (remObject != null) | 999 | if (remObject != null) |
998 | { | 1000 | { |
999 | retValue = remObject.InformRegionOfPrimCrossing(regionHandle, primID.UUID, objData); | 1001 | retValue = remObject.InformRegionOfPrimCrossing(regionHandle, primID.UUID, objData, XMLMethod); |
1000 | } | 1002 | } |
1001 | else | 1003 | else |
1002 | { | 1004 | { |
@@ -1325,23 +1327,29 @@ namespace OpenSim.Region.Communications.OGS1 | |||
1325 | } | 1327 | } |
1326 | } | 1328 | } |
1327 | 1329 | ||
1328 | public bool TriggerRegionUp(SearializableRegionInfo regionData, ulong regionhandle) | 1330 | public bool TriggerRegionUp(RegionUpData regionData, ulong regionhandle) |
1329 | { | 1331 | { |
1330 | m_log.Info("[OGS1 GRID SERVICES]: " + | 1332 | m_log.Info("[OGS1 GRID SERVICES]: " + |
1331 | gdebugRegionName + "Incoming OGS1 RegionUpReport: " + "(" + regionData.RegionLocX + | 1333 | gdebugRegionName + "Incoming OGS1 RegionUpReport: " + "(" + regionData.X + |
1332 | "," + regionData.RegionLocY + "). Giving this region a fresh set of 'dead' tries"); | 1334 | "," + regionData.Y + "). Giving this region a fresh set of 'dead' tries"); |
1335 | RegionInfo nRegionInfo = new RegionInfo(); | ||
1336 | nRegionInfo.SetEndPoint("127.0.0.1", regionData.PORT); | ||
1337 | nRegionInfo.ExternalHostName = regionData.IPADDR; | ||
1338 | nRegionInfo.RegionLocX = regionData.X; | ||
1339 | nRegionInfo.RegionLocY = regionData.Y; | ||
1333 | 1340 | ||
1341 | |||
1334 | try | 1342 | try |
1335 | { | 1343 | { |
1336 | lock (m_deadRegionCache) | 1344 | lock (m_deadRegionCache) |
1337 | { | 1345 | { |
1338 | if (m_deadRegionCache.ContainsKey(regionData.RegionHandle)) | 1346 | if (m_deadRegionCache.ContainsKey(nRegionInfo.RegionHandle)) |
1339 | { | 1347 | { |
1340 | m_deadRegionCache.Remove(regionData.RegionHandle); | 1348 | m_deadRegionCache.Remove(nRegionInfo.RegionHandle); |
1341 | } | 1349 | } |
1342 | } | 1350 | } |
1343 | 1351 | ||
1344 | return m_localBackend.TriggerRegionUp(new RegionInfo(regionData), regionhandle); | 1352 | return m_localBackend.TriggerRegionUp(nRegionInfo, regionhandle); |
1345 | } | 1353 | } |
1346 | 1354 | ||
1347 | catch (RemotingException e) | 1355 | catch (RemotingException e) |
@@ -1372,12 +1380,12 @@ namespace OpenSim.Region.Communications.OGS1 | |||
1372 | /// <param name="regionHandle"></param> | 1380 | /// <param name="regionHandle"></param> |
1373 | /// <param name="agentData"></param> | 1381 | /// <param name="agentData"></param> |
1374 | /// <returns></returns> | 1382 | /// <returns></returns> |
1375 | public bool IncomingPrim(ulong regionHandle, LLUUID primID, string objData) | 1383 | public bool IncomingPrim(ulong regionHandle, LLUUID primID, string objData, int XMLMethod) |
1376 | { | 1384 | { |
1377 | // Is this necessary? | 1385 | // Is this necessary? |
1378 | try | 1386 | try |
1379 | { | 1387 | { |
1380 | m_localBackend.TriggerExpectPrim(regionHandle, primID, objData); | 1388 | m_localBackend.TriggerExpectPrim(regionHandle, primID, objData, XMLMethod); |
1381 | return true; | 1389 | return true; |
1382 | //m_localBackend. | 1390 | //m_localBackend. |
1383 | } | 1391 | } |