Esempio n. 1
0
        public GridRegion GetRegionByHandle(UUID scopeID, ulong regionhandle)
        {
            bool inCache = false;
            GridRegion rinfo = m_RegionInfoCache.Get(scopeID, regionhandle, out inCache);
            if (inCache)
                return rinfo;

            rinfo = m_GridService.GetRegionByHandle(scopeID, regionhandle);
            if (rinfo != null)
                m_RegionInfoCache.Cache(scopeID, rinfo);
            return rinfo;
        }
Esempio n. 2
0
        public GridRegion GetRegionByHandle(UUID scopeID, ulong regionhandle)
        {
            GridRegion rinfo = m_LocalGridService.GetRegionByHandle(scopeID, regionhandle);

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

            rinfo = m_RemoteGridService.GetRegionByHandle(scopeID, regionhandle);
            m_RegionInfoCache.Cache(scopeID, rinfo);
            return(rinfo);
        }
Esempio n. 3
0
        public virtual GridRegion HelloNeighbour(ulong regionHandle, RegionInfo thisRegion)
        {
            GridRegion regInfo = m_GridService.GetRegionByHandle(thisRegion.ScopeID, regionHandle);

            if ((regInfo != null) &&
                // Don't remote-call this instance; that's a startup hickup
                !((regInfo.ExternalHostName == thisRegion.ExternalHostName) && (regInfo.HttpPort == thisRegion.HttpPort)))
            {
                if (!DoHelloNeighbourCall(regInfo, thisRegion))
                {
                    return(null);
                }
            }
            else
            {
                return(null);
            }

            return(regInfo);
        }
        public GridRegion GetRegionByHandle(UUID scopeID, ulong regionhandle)
        {
            bool       inCache = false;
            GridRegion rinfo   = m_RegionInfoCache.Get(scopeID, regionhandle, out inCache);

            if (inCache)
            {
                return(rinfo);
            }

            rinfo = m_LocalGridService.GetRegionByHandle(scopeID, regionhandle);
            if (rinfo != null)
            {
                m_RegionInfoCache.Cache(scopeID, rinfo);
                return(rinfo);
            }
            if (m_RemoteGridService != null)
            {
                rinfo = m_RemoteGridService.GetRegionByHandle(scopeID, regionhandle);
                m_RegionInfoCache.Cache(scopeID, rinfo);
            }
            return(rinfo);
        }