예제 #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)
        {
            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);
        }
예제 #3
0
        public GridRegion GetRegionByName(UUID scopeID, string regionName)
        {
            bool       inCache = false;
            GridRegion rinfo   = m_RegionInfoCache.Get(scopeID, regionName, out inCache);

            if (inCache)
            {
                return(rinfo);
            }

            rinfo = m_LocalGridService.GetRegionByName(scopeID, regionName);
            if (rinfo == null)
            {
                rinfo = m_RemoteGridService.GetRegionByName(scopeID, regionName);
            }

            // can't cache negative results for name lookups
            m_RegionInfoCache.Cache(rinfo);
            return(rinfo);
        }