Thanks jhurliman for a patch that implements progressive texture downloading - Mantis #2655

This commit is contained in:
Dahlia Trimble
2009-01-10 01:46:47 +00:00
parent 1149bde7cb
commit 3bdd4db3fd
13 changed files with 259 additions and 138 deletions

View File

@@ -241,44 +241,52 @@ namespace OpenSim.Region.Environment.Modules.Agent.TextureDownload
{
ITextureSender sender = null;
try
{
// try
// {
while (true)
{
sender = m_queueSenders.Dequeue();
if (sender.Cancel)
try
{
TextureSent(sender);
sender = m_queueSenders.Dequeue();
sender.Cancel = false;
}
else
{
bool finished = sender.SendTexturePacket();
if (finished)
if (sender.Cancel)
{
TextureSent(sender);
sender.Cancel = false;
}
else
{
m_queueSenders.Enqueue(sender);
bool finished = sender.SendTexturePacket();
if (finished)
{
TextureSent(sender);
}
else
{
m_queueSenders.Enqueue(sender);
}
}
// Make sure that any sender we currently have can get garbage collected
sender = null;
//m_log.InfoFormat("[TEXTURE] Texture sender queue size: {0}", m_queueSenders.Count());
}
catch(Exception e)
{
m_log.ErrorFormat(
"[TEXTURE]: Texture send thread caught exception. The texture send was aborted. Exception is {0}", e);
}
// Make sure that any sender we currently have can get garbage collected
sender = null;
//m_log.InfoFormat("[TEXTURE] Texture sender queue size: {0}", m_queueSenders.Count());
}
}
catch (Exception e)
{
// TODO: Let users in the sim and those entering it and possibly an external watchdog know what has happened
m_log.ErrorFormat(
"[TEXTURE]: Texture send thread terminating with exception. PLEASE REBOOT YOUR SIM - TEXTURES WILL NOT BE AVAILABLE UNTIL YOU DO. Exception is {0}",
e);
}
// }
// catch (Exception e)
// {
// // TODO: Let users in the sim and those entering it and possibly an external watchdog know what has happened
// m_log.ErrorFormat(
// "[TEXTURE]: Texture send thread terminating with exception. PLEASE REBOOT YOUR SIM - TEXTURES WILL NOT BE AVAILABLE UNTIL YOU DO. Exception is {0}",
// e);
// }
}
/// <summary>