summaryrefslogtreecommitdiff
path: root/indra/llcharacter/llmotioncontroller.cpp
diff options
context:
space:
mode:
authorMonroe Linden <monroe@lindenlab.com>2010-07-29 15:50:20 -0700
committerMonroe Linden <monroe@lindenlab.com>2010-07-29 15:50:20 -0700
commit5102e34595bc64275774843e4e8713f2a6e3b58b (patch)
treeb73b66828d4dbec3aad41c80a0d515b07ef349a8 /indra/llcharacter/llmotioncontroller.cpp
parent41b084eefe91f203117ad5e784ebc5efe07b553e (diff)
Yet more cleanup around llmediadataclient.
In LLVOVolume, added a count of LLMediaDataClientObjectImpl objects referencing each LLVOVolume object. This allows LLVOVolume::markDead() to skip the relatively expensive calls to removeFromQueue() when the LLVOVolume is known to have no active references. Refactored LLMediaDataClient and its two child classes so that only LLObjectMediaDataClient has the round-robin queue (LLObjectMediaNavigateClient doesn't need it), and cleaned up some of the virtual function hierarchy around queue processing. In LLMediaDataClient, added tracking for requests that aren't currently in a queue (i.e. requests that are in flight or waiting for retries) so they can be found when their objects are marked dead. LLMediaDataClient::Request now directly keeps track of the object ID and face associated with the request. Removed the "markedSent" concept from requests. Requests that have been sent are no longer kept in a queue. The Retry timer now references the Request object instead of the Responder. Replaced LLMediaDataClient::findOrRemove() with separate template functions for find and remove.
Diffstat (limited to 'indra/llcharacter/llmotioncontroller.cpp')
0 files changed, 0 insertions, 0 deletions