diff options
Diffstat (limited to 'OpenSim/Region/CoreModules/Asset/CoreAssetCache.cs')
-rw-r--r-- | OpenSim/Region/CoreModules/Asset/CoreAssetCache.cs | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/OpenSim/Region/CoreModules/Asset/CoreAssetCache.cs b/OpenSim/Region/CoreModules/Asset/CoreAssetCache.cs index f720748..10c0e85 100644 --- a/OpenSim/Region/CoreModules/Asset/CoreAssetCache.cs +++ b/OpenSim/Region/CoreModules/Asset/CoreAssetCache.cs | |||
@@ -40,7 +40,7 @@ using OpenSim.Services.Interfaces; | |||
40 | namespace OpenSim.Region.CoreModules.Asset | 40 | namespace OpenSim.Region.CoreModules.Asset |
41 | { | 41 | { |
42 | [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "CoreAssetCache")] | 42 | [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "CoreAssetCache")] |
43 | public class CoreAssetCache : ISharedRegionModule, IImprovedAssetCache | 43 | public class CoreAssetCache : ISharedRegionModule, IAssetCache |
44 | { | 44 | { |
45 | private static readonly ILog m_log = | 45 | private static readonly ILog m_log = |
46 | LogManager.GetLogger( | 46 | LogManager.GetLogger( |
@@ -54,7 +54,7 @@ namespace OpenSim.Region.CoreModules.Asset | |||
54 | get { return "CoreAssetCache"; } | 54 | get { return "CoreAssetCache"; } |
55 | } | 55 | } |
56 | 56 | ||
57 | public Type ReplaceableInterface | 57 | public Type ReplaceableInterface |
58 | { | 58 | { |
59 | get { return null; } | 59 | get { return null; } |
60 | } | 60 | } |
@@ -98,7 +98,7 @@ namespace OpenSim.Region.CoreModules.Asset | |||
98 | public void AddRegion(Scene scene) | 98 | public void AddRegion(Scene scene) |
99 | { | 99 | { |
100 | if (m_Enabled) | 100 | if (m_Enabled) |
101 | scene.RegisterModuleInterface<IImprovedAssetCache>(this); | 101 | scene.RegisterModuleInterface<IAssetCache>(this); |
102 | } | 102 | } |
103 | 103 | ||
104 | public void RemoveRegion(Scene scene) | 104 | public void RemoveRegion(Scene scene) |
@@ -110,12 +110,15 @@ namespace OpenSim.Region.CoreModules.Asset | |||
110 | } | 110 | } |
111 | 111 | ||
112 | //////////////////////////////////////////////////////////// | 112 | //////////////////////////////////////////////////////////// |
113 | // IImprovedAssetCache | 113 | // IAssetCache |
114 | // | 114 | // |
115 | public bool Check(string id) | 115 | public bool Check(string id) |
116 | { | 116 | { |
117 | // XXX This is probably not an efficient implementation. | 117 | // XXX This is probably not an efficient implementation. |
118 | return Get(id) != null; | 118 | AssetBase asset; |
119 | if (!Get(id, out asset)) | ||
120 | return false; | ||
121 | return asset != null; | ||
119 | } | 122 | } |
120 | 123 | ||
121 | public void Cache(AssetBase asset) | 124 | public void Cache(AssetBase asset) |
@@ -124,9 +127,15 @@ namespace OpenSim.Region.CoreModules.Asset | |||
124 | m_Cache.Store(asset.ID, asset); | 127 | m_Cache.Store(asset.ID, asset); |
125 | } | 128 | } |
126 | 129 | ||
127 | public AssetBase Get(string id) | 130 | public void CacheNegative(string id) |
128 | { | 131 | { |
129 | return (AssetBase)m_Cache.Get(id); | 132 | // We don't do negative caching |
133 | } | ||
134 | |||
135 | public bool Get(string id, out AssetBase asset) | ||
136 | { | ||
137 | asset = (AssetBase)m_Cache.Get(id); | ||
138 | return true; | ||
130 | } | 139 | } |
131 | 140 | ||
132 | public void Expire(string id) | 141 | public void Expire(string id) |