public void AbortDownload(UUID textureID)
{
lock (syncObject)
{
for (int i = 0; i < requestQueue.Count; i++)
{
TaskInfo task = requestQueue[i];
if (task.RequestID == textureID)
{
requestQueue.RemoveAt(i);
--i;
}
}
int current;
if (currentRequests.TryGetValue(textureID, out current))
{
currentRequests.Remove(textureID);
resetEvents[current].Set();
// FIXME: Send an abort packet
}
}
}