the beginning of some changes to the decode cache to address concerns about
system load. This commit effectively disables expiration.remotes/origin/0.6.7-post-fixes
parent
4b2e62fd3c
commit
2a5b9f7740
|
@ -41,6 +41,8 @@ using OpenSim.Region.Framework.Scenes;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.Agent.TextureSender
|
namespace OpenSim.Region.CoreModules.Agent.TextureSender
|
||||||
{
|
{
|
||||||
|
public delegate void J2KDecodeDelegate(UUID AssetId);
|
||||||
|
|
||||||
public class J2KDecoderModule : IRegionModule, IJ2KDecoder
|
public class J2KDecoderModule : IRegionModule, IJ2KDecoder
|
||||||
{
|
{
|
||||||
#region IRegionModule Members
|
#region IRegionModule Members
|
||||||
|
@ -437,15 +439,6 @@ namespace OpenSim.Region.CoreModules.Agent.TextureSender
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
DateTime creationTime = File.GetCreationTime(filename);
|
|
||||||
TimeSpan fileAge = DateTime.Now - creationTime;
|
|
||||||
|
|
||||||
if (m_cacheTimeout != 0 && fileAge >= TimeSpan.FromMinutes(m_cacheTimeout))
|
|
||||||
{
|
|
||||||
File.Delete(filename);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
string readResult = string.Empty;
|
string readResult = string.Empty;
|
||||||
|
|
||||||
try
|
try
|
||||||
|
@ -575,6 +568,16 @@ namespace OpenSim.Region.CoreModules.Agent.TextureSender
|
||||||
return String.Format("j2kCache_{0}.cache", AssetId);
|
return String.Format("j2kCache_{0}.cache", AssetId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public UUID AssetIdFromFileName(string fileName)
|
||||||
|
{
|
||||||
|
string rawId = fileName.Replace("j2kCache_", "").Replace(".cache", "");
|
||||||
|
UUID asset;
|
||||||
|
if (!UUID.TryParse(rawId, out asset))
|
||||||
|
return UUID.Zero;
|
||||||
|
|
||||||
|
return asset;
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Creates the Cache Folder
|
/// Creates the Cache Folder
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -639,5 +642,23 @@ namespace OpenSim.Region.CoreModules.Agent.TextureSender
|
||||||
enabled = false;
|
enabled = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void ScanCacheFiles(J2KDecodeDelegate decode)
|
||||||
|
{
|
||||||
|
DirectoryInfo dir = new DirectoryInfo(m_cacheDecodeFolder);
|
||||||
|
FileInfo[] files = dir.GetFiles("j2kCache_*.cache");
|
||||||
|
|
||||||
|
foreach (FileInfo f in files)
|
||||||
|
{
|
||||||
|
TimeSpan fileAge = DateTime.Now - f.CreationTime;
|
||||||
|
|
||||||
|
if (m_cacheTimeout != 0 && fileAge >= TimeSpan.FromMinutes(m_cacheTimeout))
|
||||||
|
{
|
||||||
|
File.Delete(f.Name);
|
||||||
|
decode(AssetIdFromFileName(f.Name));
|
||||||
|
System.Threading.Thread.Sleep(2000);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue