diff options
Diffstat (limited to 'OpenSim/Region/Communications')
3 files changed, 38 insertions, 24 deletions
diff --git a/OpenSim/Region/Communications/Local/LocalBackEndServices.cs b/OpenSim/Region/Communications/Local/LocalBackEndServices.cs index de891a2..f5a5e83 100644 --- a/OpenSim/Region/Communications/Local/LocalBackEndServices.cs +++ b/OpenSim/Region/Communications/Local/LocalBackEndServices.cs | |||
@@ -225,6 +225,12 @@ namespace OpenSim.Region.Communications.Local | |||
225 | public virtual bool RegionUp(SearializableRegionInfo sregion, ulong regionhandle) | 225 | public virtual bool RegionUp(SearializableRegionInfo sregion, ulong regionhandle) |
226 | { | 226 | { |
227 | RegionInfo region = new RegionInfo(sregion); | 227 | RegionInfo region = new RegionInfo(sregion); |
228 | |||
229 | //region.RegionLocX = sregion.X; | ||
230 | //region.RegionLocY = sregion.Y; | ||
231 | //region.SetEndPoint(sregion.IPADDR, sregion.PORT); | ||
232 | |||
233 | //sregion); | ||
228 | if (m_regionListeners.ContainsKey(regionhandle)) | 234 | if (m_regionListeners.ContainsKey(regionhandle)) |
229 | { | 235 | { |
230 | return m_regionListeners[regionhandle].TriggerRegionUp(region); | 236 | return m_regionListeners[regionhandle].TriggerRegionUp(region); |
@@ -316,11 +322,11 @@ namespace OpenSim.Region.Communications.Local | |||
316 | return false; | 322 | return false; |
317 | } | 323 | } |
318 | 324 | ||
319 | public bool InformRegionOfPrimCrossing(ulong regionHandle, LLUUID primID, string objData) | 325 | public bool InformRegionOfPrimCrossing(ulong regionHandle, LLUUID primID, string objData, int XMLMethod) |
320 | { | 326 | { |
321 | if (m_regionListeners.ContainsKey(regionHandle)) | 327 | if (m_regionListeners.ContainsKey(regionHandle)) |
322 | { | 328 | { |
323 | m_regionListeners[regionHandle].TriggerExpectPrim(regionHandle, primID, objData); | 329 | m_regionListeners[regionHandle].TriggerExpectPrim(regionHandle, primID, objData, XMLMethod); |
324 | return true; | 330 | return true; |
325 | } | 331 | } |
326 | return false; | 332 | return false; |
@@ -408,11 +414,11 @@ namespace OpenSim.Region.Communications.Local | |||
408 | } | 414 | } |
409 | } | 415 | } |
410 | 416 | ||
411 | public void TriggerExpectPrim(ulong regionHandle, LLUUID primID, string objData) | 417 | public void TriggerExpectPrim(ulong regionHandle, LLUUID primID, string objData, int XMLMethod) |
412 | { | 418 | { |
413 | if (m_regionListeners.ContainsKey(regionHandle)) | 419 | if (m_regionListeners.ContainsKey(regionHandle)) |
414 | { | 420 | { |
415 | m_regionListeners[regionHandle].TriggerExpectPrim(regionHandle, primID, objData); | 421 | m_regionListeners[regionHandle].TriggerExpectPrim(regionHandle, primID, objData, XMLMethod); |
416 | } | 422 | } |
417 | } | 423 | } |
418 | 424 | ||
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 | } |
diff --git a/OpenSim/Region/Communications/OGS1/OGS1InterSimComms.cs b/OpenSim/Region/Communications/OGS1/OGS1InterSimComms.cs index c282464..2e106d7 100644 --- a/OpenSim/Region/Communications/OGS1/OGS1InterSimComms.cs +++ b/OpenSim/Region/Communications/OGS1/OGS1InterSimComms.cs | |||
@@ -38,9 +38,9 @@ namespace OpenSim.Region.Communications.OGS1 | |||
38 | 38 | ||
39 | public delegate bool InformRegionPrimGroup(ulong regionHandle, LLUUID primID, LLVector3 Positon, bool isPhysical); | 39 | public delegate bool InformRegionPrimGroup(ulong regionHandle, LLUUID primID, LLVector3 Positon, bool isPhysical); |
40 | 40 | ||
41 | public delegate bool PrimGroupArrival(ulong regionHandle, LLUUID primID, string objData); | 41 | public delegate bool PrimGroupArrival(ulong regionHandle, LLUUID primID, string objData, int XMLMethod); |
42 | 42 | ||
43 | public delegate bool RegionUp(SearializableRegionInfo region, ulong regionhandle); | 43 | public delegate bool RegionUp(RegionUpData region, ulong regionhandle); |
44 | 44 | ||
45 | public delegate bool ChildAgentUpdate(ulong regionHandle, ChildAgentDataUpdate childUpdate); | 45 | public delegate bool ChildAgentUpdate(ulong regionHandle, ChildAgentDataUpdate childUpdate); |
46 | 46 | ||
@@ -90,7 +90,7 @@ namespace OpenSim.Region.Communications.OGS1 | |||
90 | return false; | 90 | return false; |
91 | } | 91 | } |
92 | 92 | ||
93 | public bool RegionUp(SearializableRegionInfo sregion, ulong regionhandle) | 93 | public bool RegionUp(RegionUpData sregion, ulong regionhandle) |
94 | { | 94 | { |
95 | handlerRegionUp = OnRegionUp; | 95 | handlerRegionUp = OnRegionUp; |
96 | if (handlerRegionUp != null) | 96 | if (handlerRegionUp != null) |
@@ -130,12 +130,12 @@ namespace OpenSim.Region.Communications.OGS1 | |||
130 | return false; | 130 | return false; |
131 | } | 131 | } |
132 | 132 | ||
133 | public bool ExpectPrimCrossing(ulong regionHandle, LLUUID primID, string objData) | 133 | public bool ExpectPrimCrossing(ulong regionHandle, LLUUID primID, string objData, int XMLMethod) |
134 | { | 134 | { |
135 | handlerPrimGroupArrival = OnPrimGroupArrival; | 135 | handlerPrimGroupArrival = OnPrimGroupArrival; |
136 | if (handlerPrimGroupArrival != null) | 136 | if (handlerPrimGroupArrival != null) |
137 | { | 137 | { |
138 | return handlerPrimGroupArrival(regionHandle, primID, objData); | 138 | return handlerPrimGroupArrival(regionHandle, primID, objData, XMLMethod); |
139 | } | 139 | } |
140 | return false; | 140 | return false; |
141 | } | 141 | } |
@@ -173,7 +173,7 @@ namespace OpenSim.Region.Communications.OGS1 | |||
173 | } | 173 | } |
174 | } | 174 | } |
175 | 175 | ||
176 | public bool RegionUp(SearializableRegionInfo region, ulong regionhandle) | 176 | public bool RegionUp(RegionUpData region, ulong regionhandle) |
177 | { | 177 | { |
178 | try | 178 | try |
179 | { | 179 | { |
@@ -232,11 +232,11 @@ namespace OpenSim.Region.Communications.OGS1 | |||
232 | } | 232 | } |
233 | } | 233 | } |
234 | 234 | ||
235 | public bool InformRegionOfPrimCrossing(ulong regionHandle, Guid primID, string objData) | 235 | public bool InformRegionOfPrimCrossing(ulong regionHandle, Guid primID, string objData, int XMLMethod) |
236 | { | 236 | { |
237 | try | 237 | try |
238 | { | 238 | { |
239 | return InterRegionSingleton.Instance.ExpectPrimCrossing(regionHandle, new LLUUID(primID), objData); | 239 | return InterRegionSingleton.Instance.ExpectPrimCrossing(regionHandle, new LLUUID(primID), objData, XMLMethod); |
240 | } | 240 | } |
241 | catch (RemotingException e) | 241 | catch (RemotingException e) |
242 | { | 242 | { |