diff --git a/OpenSim/Services/Connectors/Grid/GridServicesConnector.cs b/OpenSim/Services/Connectors/Grid/GridServicesConnector.cs index ded7806af8..7d1fe87b9f 100644 --- a/OpenSim/Services/Connectors/Grid/GridServicesConnector.cs +++ b/OpenSim/Services/Connectors/Grid/GridServicesConnector.cs @@ -49,9 +49,6 @@ namespace OpenSim.Services.Connectors private string m_ServerURI = String.Empty; - private ExpiringCache m_regionCache = - new ExpiringCache(); - public GridServicesConnector() { } @@ -279,11 +276,6 @@ namespace OpenSim.Services.Connectors public GridRegion GetRegionByPosition(UUID scopeID, int x, int y) { GridRegion rinfo = null; - ulong regionHandle = Util.UIntsToLong((uint)x, (uint)y); - - // this cache includes NULL regions - if (m_regionCache.TryGetValue(regionHandle, out rinfo)) - return rinfo; Dictionary sendData = new Dictionary(); @@ -325,8 +317,6 @@ namespace OpenSim.Services.Connectors else m_log.DebugFormat("[GRID CONNECTOR]: GetRegionByPosition received null reply"); - m_regionCache.Add(regionHandle, rinfo, TimeSpan.FromSeconds(600)); - return rinfo; } diff --git a/OpenSim/Services/Connectors/Presence/PresenceServicesConnector.cs b/OpenSim/Services/Connectors/Presence/PresenceServicesConnector.cs index 1f12b67793..3676a3cca9 100644 --- a/OpenSim/Services/Connectors/Presence/PresenceServicesConnector.cs +++ b/OpenSim/Services/Connectors/Presence/PresenceServicesConnector.cs @@ -43,9 +43,7 @@ namespace OpenSim.Services.Connectors { public class PresenceServicesConnector : BaseServiceConnector, IPresenceService { - private static readonly ILog m_log = - LogManager.GetLogger( - MethodBase.GetCurrentMethod().DeclaringType); + private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); private string m_ServerURI = String.Empty; diff --git a/OpenSim/Services/HypergridService/HGInstantMessageService.cs b/OpenSim/Services/HypergridService/HGInstantMessageService.cs index 4d628e0ac0..c7068a775a 100644 --- a/OpenSim/Services/HypergridService/HGInstantMessageService.cs +++ b/OpenSim/Services/HypergridService/HGInstantMessageService.cs @@ -50,11 +50,9 @@ namespace OpenSim.Services.HypergridService /// public class HGInstantMessageService : IInstantMessage { - private static readonly ILog m_log = - LogManager.GetLogger( - MethodBase.GetCurrentMethod().DeclaringType); + private static readonly ILog m_log = LogManager.GetLogger( MethodBase.GetCurrentMethod().DeclaringType); - private const double CACHE_EXPIRATION_SECONDS = 120000.0; // 33 hours + private const int REGIONCACHE_EXPIRATION = 300000; static bool m_Initialized = false; @@ -65,8 +63,8 @@ namespace OpenSim.Services.HypergridService protected static IInstantMessageSimConnector m_IMSimConnector; - protected static Dictionary m_UserLocationMap = new Dictionary(); - private static ExpiringCache m_RegionCache; + protected static readonly Dictionary m_UserLocationMap = new Dictionary(); + private static readonly ExpiringCacheOS m_RegionCache = new ExpiringCacheOS(60000); private static bool m_ForwardOfflineGroupMessages; private static bool m_InGatekeeper; @@ -111,8 +109,6 @@ namespace OpenSim.Services.HypergridService m_log.WarnFormat("[HG IM SERVICE]: Unable to create User Agent Service. Missing config var in [HGInstantMessageService]?"); } - m_RegionCache = new ExpiringCache(); - IConfig cnf = config.Configs["Messaging"]; if (cnf == null) { @@ -275,11 +271,10 @@ namespace OpenSim.Services.HypergridService { bool imresult = false; GridRegion reginfo = null; - if (!m_RegionCache.TryGetValue(upd.RegionID, out reginfo)) + if (!m_RegionCache.TryGetValue(upd.RegionID, REGIONCACHE_EXPIRATION, out reginfo)) { reginfo = m_GridService.GetRegionByUUID(UUID.Zero /*!!!*/, upd.RegionID); - if (reginfo != null) - m_RegionCache.AddOrUpdate(upd.RegionID, reginfo, CACHE_EXPIRATION_SECONDS); + m_RegionCache.AddOrUpdate(upd.RegionID, reginfo, reginfo == null ? 60000 : REGIONCACHE_EXPIRATION); } if (reginfo != null)