diff options
| author | Dave Parks <davep@lindenlab.com> | 2012-01-24 17:37:20 -0600 | 
|---|---|---|
| committer | Dave Parks <davep@lindenlab.com> | 2012-01-24 17:37:20 -0600 | 
| commit | 63398cd53158e683b12546f4cb2bfb27c78b77da (patch) | |
| tree | cffdefc829f20aae5beb3ef9eb60a01ae89ab4eb /indra/newview | |
| parent | 9bbaf3ab14cf131a1938455c99d3cf0f4abc176c (diff) | |
SH-2791 Use request class constructor/destructor for keeping track of concurrent requests instead of unreliable increments/decrements sprinkled around the code.
Diffstat (limited to 'indra/newview')
| -rw-r--r-- | indra/newview/llmeshrepository.cpp | 19 | 
1 files changed, 12 insertions, 7 deletions
| diff --git a/indra/newview/llmeshrepository.cpp b/indra/newview/llmeshrepository.cpp index 1d0c262190..03dc7f6bba 100644 --- a/indra/newview/llmeshrepository.cpp +++ b/indra/newview/llmeshrepository.cpp @@ -208,6 +208,12 @@ public:  	LLMeshHeaderResponder(const LLVolumeParams& mesh_params)  		: mMeshParams(mesh_params)  	{ +		LLMeshRepoThread::sActiveHeaderRequests++; +	} + +	~LLMeshHeaderResponder() +	{ +		LLMeshRepoThread::sActiveHeaderRequests--;  	}  	virtual void completedRaw(U32 status, const std::string& reason, @@ -227,6 +233,12 @@ public:  	LLMeshLODResponder(const LLVolumeParams& mesh_params, S32 lod, U32 offset, U32 requested_bytes)  		: mMeshParams(mesh_params), mLOD(lod), mOffset(offset), mRequestedBytes(requested_bytes)  	{ +		LLMeshRepoThread::sActiveLODRequests++; +	} + +	~LLMeshLODResponder() +	{ +		LLMeshRepoThread::sActiveLODRequests--;  	}  	virtual void completedRaw(U32 status, const std::string& reason, @@ -710,7 +722,6 @@ bool LLMeshRepoThread::fetchMeshSkinInfo(const LLUUID& mesh_id)  			std::string http_url = constructUrl(mesh_id);  			if (!http_url.empty())  			{ -				++sActiveLODRequests;  				LLMeshRepository::sHTTPRequestCount++;  				mCurlRequest->getByteRange(constructUrl(mesh_id), headers, offset, size,  										   new LLMeshSkinInfoResponder(mesh_id, offset, size)); @@ -783,7 +794,6 @@ bool LLMeshRepoThread::fetchMeshDecomposition(const LLUUID& mesh_id)  			std::string http_url = constructUrl(mesh_id);  			if (!http_url.empty())  			{ -				++sActiveLODRequests;  				LLMeshRepository::sHTTPRequestCount++;  				mCurlRequest->getByteRange(http_url, headers, offset, size,  										   new LLMeshDecompositionResponder(mesh_id, offset, size)); @@ -856,7 +866,6 @@ bool LLMeshRepoThread::fetchMeshPhysicsShape(const LLUUID& mesh_id)  			std::string http_url = constructUrl(mesh_id);  			if (!http_url.empty())  			{ -				++sActiveLODRequests;  				LLMeshRepository::sHTTPRequestCount++;  				mCurlRequest->getByteRange(http_url, headers, offset, size,  										   new LLMeshPhysicsShapeResponder(mesh_id, offset, size)); @@ -907,7 +916,6 @@ bool LLMeshRepoThread::fetchMeshHeader(const LLVolumeParams& mesh_params)  	std::string http_url = constructUrl(mesh_params.getSculptID());  	if (!http_url.empty())  	{ -		++sActiveHeaderRequests;  		retval = true;  		//grab first 4KB if we're going to bother with a fetch.  Cache will prevent future fetches if a full mesh fits  		//within the first 4KB @@ -974,7 +982,6 @@ bool LLMeshRepoThread::fetchMeshLOD(const LLVolumeParams& mesh_params, S32 lod)  			std::string http_url = constructUrl(mesh_id);  			if (!http_url.empty())  			{ -				++sActiveLODRequests;  				retval = true;  				LLMeshRepository::sHTTPRequestCount++;  				mCurlRequest->getByteRange(constructUrl(mesh_id), headers, offset, size, @@ -1718,7 +1725,6 @@ void LLMeshLODResponder::completedRaw(U32 status, const std::string& reason,  							  const LLIOPipe::buffer_ptr_t& buffer)  { -	LLMeshRepoThread::sActiveLODRequests--;  	S32 data_size = buffer->countAfter(channels.in(), NULL);  	if (status < 200 || status > 400) @@ -1935,7 +1941,6 @@ void LLMeshHeaderResponder::completedRaw(U32 status, const std::string& reason,  							  const LLChannelDescriptors& channels,  							  const LLIOPipe::buffer_ptr_t& buffer)  { -	LLMeshRepoThread::sActiveHeaderRequests--;  	if (status < 200 || status > 400)  	{  		//llwarns | 
