diff options
Diffstat (limited to 'OpenSim/Services/Connectors/Asset/AssetServicesConnector.cs')
-rw-r--r-- | OpenSim/Services/Connectors/Asset/AssetServicesConnector.cs | 37 |
1 files changed, 31 insertions, 6 deletions
diff --git a/OpenSim/Services/Connectors/Asset/AssetServicesConnector.cs b/OpenSim/Services/Connectors/Asset/AssetServicesConnector.cs index 3fa8b54..9595e7b 100644 --- a/OpenSim/Services/Connectors/Asset/AssetServicesConnector.cs +++ b/OpenSim/Services/Connectors/Asset/AssetServicesConnector.cs | |||
@@ -243,8 +243,16 @@ namespace OpenSim.Services.Connectors | |||
243 | string uri = MapServer(id) + "/assets/" + id; | 243 | string uri = MapServer(id) + "/assets/" + id; |
244 | 244 | ||
245 | AssetBase asset = null; | 245 | AssetBase asset = null; |
246 | |||
246 | if (m_Cache != null) | 247 | if (m_Cache != null) |
247 | asset = m_Cache.Get(id); | 248 | { |
249 | bool negative; | ||
250 | |||
251 | asset = m_Cache.Get(id, out negative); | ||
252 | |||
253 | if (negative) | ||
254 | return null; | ||
255 | } | ||
248 | 256 | ||
249 | if (asset == null || asset.Data == null || asset.Data.Length == 0) | 257 | if (asset == null || asset.Data == null || asset.Data.Length == 0) |
250 | { | 258 | { |
@@ -275,8 +283,9 @@ namespace OpenSim.Services.Connectors | |||
275 | { | 283 | { |
276 | // m_log.DebugFormat("[ASSET SERVICE CONNECTOR]: Cache request for {0}", id); | 284 | // m_log.DebugFormat("[ASSET SERVICE CONNECTOR]: Cache request for {0}", id); |
277 | 285 | ||
286 | bool negative; | ||
278 | if (m_Cache != null) | 287 | if (m_Cache != null) |
279 | return m_Cache.Get(id); | 288 | return m_Cache.Get(id, out negative); |
280 | 289 | ||
281 | return null; | 290 | return null; |
282 | } | 291 | } |
@@ -285,7 +294,11 @@ namespace OpenSim.Services.Connectors | |||
285 | { | 294 | { |
286 | if (m_Cache != null) | 295 | if (m_Cache != null) |
287 | { | 296 | { |
288 | AssetBase fullAsset = m_Cache.Get(id); | 297 | bool negative; |
298 | AssetBase fullAsset = m_Cache.Get(id, out negative); | ||
299 | |||
300 | if (negative) | ||
301 | return null; | ||
289 | 302 | ||
290 | if (fullAsset != null) | 303 | if (fullAsset != null) |
291 | return fullAsset.Metadata; | 304 | return fullAsset.Metadata; |
@@ -301,7 +314,11 @@ namespace OpenSim.Services.Connectors | |||
301 | { | 314 | { |
302 | if (m_Cache != null) | 315 | if (m_Cache != null) |
303 | { | 316 | { |
304 | AssetBase fullAsset = m_Cache.Get(id); | 317 | bool negative; |
318 | AssetBase fullAsset = m_Cache.Get(id, out negative); | ||
319 | |||
320 | if (negative) | ||
321 | return null; | ||
305 | 322 | ||
306 | if (fullAsset != null) | 323 | if (fullAsset != null) |
307 | return fullAsset.Data; | 324 | return fullAsset.Data; |
@@ -389,7 +406,14 @@ namespace OpenSim.Services.Connectors | |||
389 | 406 | ||
390 | AssetBase asset = null; | 407 | AssetBase asset = null; |
391 | if (m_Cache != null) | 408 | if (m_Cache != null) |
392 | asset = m_Cache.Get(id); | 409 | { |
410 | bool negative; | ||
411 | |||
412 | asset = m_Cache.Get(id, out negative); | ||
413 | |||
414 | if (negative) | ||
415 | return false; | ||
416 | } | ||
393 | 417 | ||
394 | if (asset == null || asset.Data == null || asset.Data.Length == 0) | 418 | if (asset == null || asset.Data == null || asset.Data.Length == 0) |
395 | { | 419 | { |
@@ -589,8 +613,9 @@ namespace OpenSim.Services.Connectors | |||
589 | { | 613 | { |
590 | AssetBase asset = null; | 614 | AssetBase asset = null; |
591 | 615 | ||
616 | bool negative; | ||
592 | if (m_Cache != null) | 617 | if (m_Cache != null) |
593 | asset = m_Cache.Get(id); | 618 | asset = m_Cache.Get(id, out negative); |
594 | 619 | ||
595 | if (asset == null) | 620 | if (asset == null) |
596 | { | 621 | { |