add the ability to cherry pick expire something from the asset
cache. Bandaid until we rethink the caches a bit more.0.6.0-stable
parent
4cb42d4c35
commit
721988adcd
|
@ -382,6 +382,30 @@ namespace OpenSim.Framework.Communications.Cache
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Allows you to clear a specific asset by uuid out
|
||||||
|
/// of the asset cache. This is needed because the osdynamic
|
||||||
|
/// texture code grows the asset cache without bounds. The
|
||||||
|
/// real solution here is a much better cache archicture, but
|
||||||
|
/// this is a stop gap measure until we have such a thing.
|
||||||
|
/// </summary>
|
||||||
|
|
||||||
|
public void ExpireAsset(LLUUID uuid)
|
||||||
|
{
|
||||||
|
// uuid is unique, so no need to worry about it showing up
|
||||||
|
// in the 2 caches differently. Also, locks are probably
|
||||||
|
// needed in all of this, or move to synchronized non
|
||||||
|
// generic forms for Dictionaries.
|
||||||
|
if (Textures.ContainsKey(uuid))
|
||||||
|
{
|
||||||
|
Textures.Remove(uuid);
|
||||||
|
}
|
||||||
|
else if (Assets.ContainsKey(uuid))
|
||||||
|
{
|
||||||
|
Assets.Remove(uuid);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// See IAssetReceiver
|
// See IAssetReceiver
|
||||||
public void AssetReceived(AssetBase asset, bool IsTexture)
|
public void AssetReceived(AssetBase asset, bool IsTexture)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue