예제 #1
0
        public GridRegion GetRegionByUUID(UUID scopeID, UUID regionID)
        {
            bool inCache = false;
            GridRegion rinfo = m_RegionInfoCache.Get(scopeID, regionID, out inCache);
            if (inCache)
                return rinfo;

            rinfo = m_GridService.GetRegionByUUID(scopeID, regionID);
            if (rinfo != null)
                m_RegionInfoCache.Cache(scopeID, rinfo);
            return rinfo;
        }
예제 #2
0
        public GridRegion GetRegionByUUID(UUID scopeID, UUID regionID)
        {
            GridRegion rinfo = m_LocalGridService.GetRegionByUUID(scopeID, regionID);

            if (rinfo != null)
            {
                return(rinfo);
            }

            rinfo = m_RemoteGridService.GetRegionByUUID(scopeID, regionID);
            m_RegionInfoCache.Cache(scopeID, rinfo);
            return(rinfo);
        }
예제 #3
0
        public GridRegion GetRegionByUUID(UUID scopeID, UUID regionID)
        {
            bool       inCache = false;
            GridRegion rinfo   = m_RegionInfoCache.Get(scopeID, regionID, out inCache);

            if (inCache)
            {
                return(rinfo);
            }

            rinfo = m_LocalGridService.GetRegionByUUID(scopeID, regionID);
            if (rinfo == null)
            {
                rinfo = m_RemoteGridService.GetRegionByUUID(scopeID, regionID);
            }

            m_RegionInfoCache.Cache(scopeID, regionID, rinfo);
            return(rinfo);
        }
예제 #4
0
        public List <GridRegion> GetDefaultHypergridRegions(UUID scopeID)
        {
            List <GridRegion> rinfo = m_LocalGridService.GetDefaultHypergridRegions(scopeID);
            //m_log.DebugFormat("[REMOTE GRID CONNECTOR]: Local GetDefaultHypergridRegions {0} found {1} regions", name, rinfo.Count);
            List <GridRegion> grinfo = m_RemoteGridService.GetDefaultHypergridRegions(scopeID);

            if (grinfo != null)
            {
                //m_log.DebugFormat("[REMOTE GRID CONNECTOR]: Remote GetDefaultHypergridRegions {0} found {1} regions", name, grinfo.Count);
                foreach (GridRegion r in grinfo)
                {
                    m_RegionInfoCache.Cache(r);
                    if (rinfo.Find(delegate(GridRegion gr) { return(gr.RegionID == r.RegionID); }) == null)
                    {
                        rinfo.Add(r);
                    }
                }
            }

            return(rinfo);
        }