* Move missing texture request forward so that we don't actually ask the AssetCache for it if we know it's missing.
parent
872184fa2a
commit
bbddc0dbe7
|
@ -101,14 +101,32 @@ namespace OpenSim.Region.Environment.Modules
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
//m_log.DebugFormat("[USER TEXTURE DOWNLOAD]: Adding download stat {0}", e.RequestedAssetID);
|
// If we've already told the client we're missing the texture, then don't ask the
|
||||||
m_scene.AddPendingDownloads(1);
|
// asset server for it again - record the fact that it's missing instead.
|
||||||
|
if (missingTextureRequests.ContainsKey(e.RequestedAssetID))
|
||||||
TextureSender requestHandler =
|
{
|
||||||
new TextureSender(m_client, e.DiscardLevel, e.PacketNumber);
|
int requests = missingTextureRequests[e.RequestedAssetID] + 1;
|
||||||
m_textureSenders.Add(e.RequestedAssetID, requestHandler);
|
|
||||||
|
if (requests % 20 == 0)
|
||||||
m_scene.AssetCache.GetAsset(e.RequestedAssetID, TextureCallback, true);
|
{
|
||||||
|
m_log.WarnFormat(
|
||||||
|
"[USER TEXTURE DOWNLOAD SERVICE]: Received {0} requests for the missing texture {1} from client {2}",
|
||||||
|
requests, e.RequestedAssetID, m_client.AgentId);
|
||||||
|
}
|
||||||
|
|
||||||
|
missingTextureRequests[e.RequestedAssetID] = requests;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//m_log.DebugFormat("[USER TEXTURE DOWNLOAD]: Adding download stat {0}", e.RequestedAssetID);
|
||||||
|
m_scene.AddPendingDownloads(1);
|
||||||
|
|
||||||
|
TextureSender requestHandler =
|
||||||
|
new TextureSender(m_client, e.DiscardLevel, e.PacketNumber);
|
||||||
|
m_textureSenders.Add(e.RequestedAssetID, requestHandler);
|
||||||
|
|
||||||
|
m_scene.AssetCache.GetAsset(e.RequestedAssetID, TextureCallback, true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -159,19 +177,6 @@ namespace OpenSim.Region.Environment.Modules
|
||||||
EnqueueTextureSender(textureNotFoundSender);
|
EnqueueTextureSender(textureNotFoundSender);
|
||||||
missingTextureRequests.Add(textureID, 1);
|
missingTextureRequests.Add(textureID, 1);
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
int requests = missingTextureRequests[textureID] + 1;
|
|
||||||
|
|
||||||
if (requests % 20 == 0)
|
|
||||||
{
|
|
||||||
m_log.WarnFormat(
|
|
||||||
"[USER TEXTURE DOWNLOAD SERVICE]: Received {0} requests for the missing texture {1} from client {2}",
|
|
||||||
requests, textureID, m_client.AgentId);
|
|
||||||
}
|
|
||||||
|
|
||||||
missingTextureRequests[textureID] = requests;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue