Explicit tests for local regions.

0.6.5-rc1
diva 2009-03-22 06:31:32 +00:00
parent 9489ad57f9
commit 047d753cd0
2 changed files with 50 additions and 26 deletions

View File

@ -260,6 +260,15 @@ namespace OpenSim.Region.CoreModules.Communications.Local
// ? weird. should not happen // ? weird. should not happen
return m_sceneList[0].RegionInfo.RegionID; return m_sceneList[0].RegionInfo.RegionID;
} }
public bool IsLocalRegion(ulong regionhandle)
{
foreach (Scene s in m_sceneList)
if (s.RegionInfo.RegionHandle == regionhandle)
return true;
return false;
}
#endregion #endregion
} }
} }

View File

@ -136,6 +136,8 @@ namespace OpenSim.Region.CoreModules.Communications.REST
return true; return true;
// else do the remote thing // else do the remote thing
if (!m_localBackend.IsLocalRegion(regionHandle))
{
RegionInfo regInfo = m_commsManager.GridService.RequestNeighbourInfo(regionHandle); RegionInfo regInfo = m_commsManager.GridService.RequestNeighbourInfo(regionHandle);
if (regInfo != null) if (regInfo != null)
{ {
@ -145,6 +147,7 @@ namespace OpenSim.Region.CoreModules.Communications.REST
} }
//else //else
// m_log.Warn("[REST COMMS]: Region not found " + regionHandle); // m_log.Warn("[REST COMMS]: Region not found " + regionHandle);
}
return false; return false;
} }
@ -155,6 +158,8 @@ namespace OpenSim.Region.CoreModules.Communications.REST
return true; return true;
// else do the remote thing // else do the remote thing
if (!m_localBackend.IsLocalRegion(regionHandle))
{
RegionInfo regInfo = m_commsManager.GridService.RequestNeighbourInfo(regionHandle); RegionInfo regInfo = m_commsManager.GridService.RequestNeighbourInfo(regionHandle);
if (regInfo != null) if (regInfo != null)
{ {
@ -162,6 +167,7 @@ namespace OpenSim.Region.CoreModules.Communications.REST
} }
//else //else
// m_log.Warn("[REST COMMS]: Region not found " + regionHandle); // m_log.Warn("[REST COMMS]: Region not found " + regionHandle);
}
return false; return false;
} }
@ -173,6 +179,8 @@ namespace OpenSim.Region.CoreModules.Communications.REST
return true; return true;
// else do the remote thing // else do the remote thing
if (!m_localBackend.IsLocalRegion(regionHandle))
{
RegionInfo regInfo = m_commsManager.GridService.RequestNeighbourInfo(regionHandle); RegionInfo regInfo = m_commsManager.GridService.RequestNeighbourInfo(regionHandle);
if (regInfo != null) if (regInfo != null)
{ {
@ -180,6 +188,7 @@ namespace OpenSim.Region.CoreModules.Communications.REST
} }
//else //else
// m_log.Warn("[REST COMMS]: Region not found " + regionHandle); // m_log.Warn("[REST COMMS]: Region not found " + regionHandle);
}
return false; return false;
} }
@ -201,6 +210,8 @@ namespace OpenSim.Region.CoreModules.Communications.REST
return true; return true;
// else do the remote thing // else do the remote thing
if (!m_localBackend.IsLocalRegion(regionHandle))
{
RegionInfo regInfo = m_commsManager.GridService.RequestNeighbourInfo(regionHandle); RegionInfo regInfo = m_commsManager.GridService.RequestNeighbourInfo(regionHandle);
if (regInfo != null) if (regInfo != null)
{ {
@ -208,6 +219,7 @@ namespace OpenSim.Region.CoreModules.Communications.REST
} }
//else //else
// m_log.Warn("[REST COMMS]: Region not found " + regionHandle); // m_log.Warn("[REST COMMS]: Region not found " + regionHandle);
}
return false; return false;
} }
@ -225,6 +237,8 @@ namespace OpenSim.Region.CoreModules.Communications.REST
} }
// else do the remote thing // else do the remote thing
if (!m_localBackend.IsLocalRegion(regionHandle))
{
RegionInfo regInfo = m_commsManager.GridService.RequestNeighbourInfo(regionHandle); RegionInfo regInfo = m_commsManager.GridService.RequestNeighbourInfo(regionHandle);
if (regInfo != null) if (regInfo != null)
{ {
@ -232,6 +246,7 @@ namespace OpenSim.Region.CoreModules.Communications.REST
} }
//else //else
// m_log.Warn("[REST COMMS]: Region not found " + regionHandle); // m_log.Warn("[REST COMMS]: Region not found " + regionHandle);
}
return false; return false;
} }