Merge lgpl http prep backouts

Tue, 25 Feb 2014 23:03:29 -0800

author
Tank_Master
date
Tue, 25 Feb 2014 23:03:29 -0800
changeset 40771
69532f5ee170
parent 40662
45b91dbcf1fc
parent 40757
a20f94d25c9e
child 40772
b88580036ef2

Merge lgpl http prep backouts

indra/newview/app_settings/settings.xml file | annotate | diff | revisions
indra/newview/llmeshrepository.cpp file | annotate | diff | revisions
indra/newview/skins/default/xui/en/notifications.xml file | annotate | diff | revisions
     1.1 --- a/indra/newview/app_settings/settings.xml	Mon Feb 24 23:25:55 2014 -0800
     1.2 +++ b/indra/newview/app_settings/settings.xml	Tue Feb 25 23:03:29 2014 -0800
     1.3 @@ -12630,15 +12630,7 @@
     1.4      <key>Type</key>
     1.5      <string>U32</string>
     1.6      <key>Value</key>
     1.7 -    <integer>16</integer>
     1.8 -    <key>SanityCheckType</key>
     1.9 -    <string>LessThan</string>
    1.10 -    <key>SanityValue</key>
    1.11 -    <array>
    1.12 -      <integer>33</integer>
    1.13 -    </array>
    1.14 -    <key>SanityComment</key>
    1.15 -    <string>Setting this value too high will make it less likely that mesh objects will load correctly and cause performace degradation for you and others in the same region.</string>
    1.16 +    <integer>32</integer>
    1.17    </map>
    1.18     <key>RunMultipleThreads</key>
    1.19      <map>
    1.20 @@ -19635,28 +19627,6 @@
    1.21        <key>Value</key>
    1.22        <string>Grey</string>
    1.23      </map>
    1.24 -  <key>FSMaxMeshRequestsPerSecond</key>
    1.25 -  <map>
    1.26 -    <key>Comment</key>
    1.27 -    <string>The maximum number of mesh requests per second.</string>
    1.28 -    <key>Persist</key>
    1.29 -    <integer>1</integer>
    1.30 -    <key>Type</key>
    1.31 -    <string>U32</string>
    1.32 -    <key>Value</key>
    1.33 -    <integer>100</integer>
    1.34 -  </map>
    1.35 -  <key>FSMeshRequestTimeout</key>
    1.36 -  <map>
    1.37 -    <key>Comment</key>
    1.38 -    <string>The timeout in seconds for a mesh request to complete before it will be issued again.</string>
    1.39 -    <key>Persist</key>
    1.40 -    <integer>1</integer>
    1.41 -    <key>Type</key>
    1.42 -    <string>S32</string>
    1.43 -    <key>Value</key>
    1.44 -    <real>150</real>
    1.45 -  </map>
    1.46      <key>ExodusFlickrLastTags</key>
    1.47      <map>
    1.48        <key>Comment</key>
    1.49 @@ -20277,6 +20247,8 @@
    1.50        <integer>1</integer>
    1.51      </map>
    1.52      <!-- End: Prefs > Sound/Media => UI Sounds -->
    1.53 +=======
    1.54 +>>>>>>> other
    1.55    
    1.56      <key>FSShowVoiceVisualizer</key>
    1.57      <map>
     2.1 --- a/indra/newview/llmeshrepository.cpp	Mon Feb 24 23:25:55 2014 -0800
     2.2 +++ b/indra/newview/llmeshrepository.cpp	Tue Feb 25 23:03:29 2014 -0800
     2.3 @@ -76,8 +76,7 @@
     2.4  
     2.5  LLMeshRepository gMeshRepo;
     2.6  
     2.7 -// <FS:Ansariel> Configurable request throttle
     2.8 -//const U32 MAX_MESH_REQUESTS_PER_SECOND = 100;
     2.9 +const U32 MAX_MESH_REQUESTS_PER_SECOND = 100;
    2.10  
    2.11  // Maximum mesh version to support.  Three least significant digits are reserved for the minor version, 
    2.12  // with major version changes indicating a format change that is not backwards compatible and should not
    2.13 @@ -100,11 +99,6 @@
    2.14  
    2.15  const U32 MAX_TEXTURE_UPLOAD_RETRIES = 5;
    2.16  
    2.17 -//<FS:TS> FIRE-11451: Cap concurrent mesh requests at a sane value
    2.18 -const U32 MESH_CONCURRENT_REQUEST_LIMIT = 64;	// upper limit
    2.19 -const U32 MESH_CONCURRENT_REQUEST_RESET = 16;	// reset to this if too high
    2.20 -//</FS:TS> FIRE-11451
    2.21 -
    2.22  static S32 dump_num = 0;
    2.23  std::string make_dump_name(std::string prefix, S32 num)
    2.24  {
    2.25 @@ -585,11 +579,6 @@
    2.26  		llwarns << "convex decomposition unable to be loaded" << llendl;
    2.27  	}
    2.28  
    2.29 -	// <FS:Ansariel> Configurable request throttle
    2.30 -	static LLCachedControl<U32> fsMaxMeshRequestsPerSecond(gSavedSettings, "FSMaxMeshRequestsPerSecond");
    2.31 -	// <FS:Ansariel> Mesh header/LOD retry functionality
    2.32 -	static LLCachedControl<S32> fsMeshRequestTimeout(gSavedSettings, "FSMeshRequestTimeout");
    2.33 -
    2.34  	while (!LLApp::isQuitting())
    2.35  	{
    2.36  		mWaiting = true;
    2.37 @@ -606,67 +595,11 @@
    2.38  			{ //a second has gone by, clear count
    2.39  				last_hundred = gFrameTimeSeconds;
    2.40  				count = 0;	
    2.41 -
    2.42 -				// <FS:Ansariel> Mesh header/LOD retry functionality
    2.43 -				F32 curl_timeout = llmax((F32)fsMeshRequestTimeout, 150.f) + 2.f; // 150 secs minimum timeout as defined in LLCurl.cpp (30s connect, 120s operation)
    2.44 -
    2.45 -				if (mMutex)
    2.46 -				{
    2.47 -					mMutex->lock();
    2.48 -					// Handle header requests
    2.49 -					std::set<ActiveHeaderRequest>::iterator header_it = mActiveHeaderRequests.begin();
    2.50 -					std::list<ActiveHeaderRequest> active_header_clear_list;
    2.51 -
    2.52 -					for ( ; header_it != mActiveHeaderRequests.end(); header_it++)
    2.53 -					{
    2.54 -						ActiveHeaderRequest active_req = *header_it;
    2.55 -						if (gFrameTimeSeconds - active_req.mFrameTimeStart > curl_timeout)
    2.56 -						{
    2.57 -							LL_WARNS("MeshRequestTimeout") << "Mesh header request timed out for SculptID=" << active_req.mMeshParams.getSculptID() << LL_ENDL;
    2.58 -							HeaderRequest req(active_req.mMeshParams);
    2.59 -							mHeaderReqQ.push(req);
    2.60 -							active_header_clear_list.push_back(active_req);
    2.61 -						}
    2.62 -					}
    2.63 -
    2.64 -					for (std::list<ActiveHeaderRequest>::iterator it = active_header_clear_list.begin(); it != active_header_clear_list.end(); it++)
    2.65 -					{
    2.66 -						mActiveHeaderRequests.erase(*it);
    2.67 -					}
    2.68 -
    2.69 -					// Handle LOD requests
    2.70 -					std::set<ActiveLODRequest>::iterator lod_it = mActiveLODRequests.begin();
    2.71 -					std::list<ActiveLODRequest> active_lod_clear_list;
    2.72 -
    2.73 -					for ( ; lod_it != mActiveLODRequests.end(); lod_it++)
    2.74 -					{
    2.75 -						ActiveLODRequest active_req = *lod_it;
    2.76 -						if (gFrameTimeSeconds - active_req.mFrameTimeStart > curl_timeout)
    2.77 -						{
    2.78 -							LL_WARNS("MeshRequestTimeout") << "Mesh LOD request timed out for SculptID=" << active_req.mMeshParams.getSculptID() << " and LOD=" << active_req.mLOD << LL_ENDL;
    2.79 -							LODRequest req(active_req.mMeshParams, active_req.mLOD);
    2.80 -							LLMeshRepository::sLODProcessing++;
    2.81 -							mLODReqQ.push(req);
    2.82 -							active_lod_clear_list.push_back(active_req);
    2.83 -						}
    2.84 -					}
    2.85 -
    2.86 -					for (std::list<ActiveLODRequest>::iterator it = active_lod_clear_list.begin(); it != active_lod_clear_list.end(); it++)
    2.87 -					{
    2.88 -						mActiveLODRequests.erase(*it);
    2.89 -					}
    2.90 -
    2.91 -					mMutex->unlock();
    2.92 -				}
    2.93 -				// </FS:Ansariel> Mesh header/LOD retry functionality
    2.94  			}
    2.95  
    2.96  			// NOTE: throttling intentionally favors LOD requests over header requests
    2.97  			
    2.98 -			// <FS:Ansariel> Configurable request throttle
    2.99 -			//while (!mLODReqQ.empty() && count < MAX_MESH_REQUESTS_PER_SECOND && sActiveLODRequests < sMaxConcurrentRequests)
   2.100 -			while (!mLODReqQ.empty() && count < (U32)fsMaxMeshRequestsPerSecond && sActiveLODRequests < sMaxConcurrentRequests)
   2.101 -			// </FS:Ansariel> Configurable request throttle
   2.102 +			while (!mLODReqQ.empty() && count < MAX_MESH_REQUESTS_PER_SECOND && sActiveLODRequests < sMaxConcurrentRequests)
   2.103  			{
   2.104  				if (mMutex)
   2.105  				{
   2.106 @@ -684,10 +617,7 @@
   2.107  				}
   2.108  			}
   2.109  
   2.110 -			// <FS:Ansariel> Configurable request throttle
   2.111 -			//while (!mHeaderReqQ.empty() && count < MAX_MESH_REQUESTS_PER_SECOND && sActiveHeaderRequests < sMaxConcurrentRequests)
   2.112 -			while (!mHeaderReqQ.empty() && count < (U32)fsMaxMeshRequestsPerSecond && sActiveHeaderRequests < sMaxConcurrentRequests)
   2.113 -			// </FS:Ansariel> Configurable request throttle
   2.114 +			while (!mHeaderReqQ.empty() && count < MAX_MESH_REQUESTS_PER_SECOND && sActiveHeaderRequests < sMaxConcurrentRequests)
   2.115  			{
   2.116  				if (mMutex)
   2.117  				{
   2.118 @@ -905,12 +835,8 @@
   2.119  			std::string http_url = constructUrl(mesh_id);
   2.120  			if (!http_url.empty())
   2.121  			{				
   2.122 -				// <FS:Ansariel> Customizable mesh request timeout
   2.123 -				//ret = mCurlRequest->getByteRange(http_url, headers, offset, size,
   2.124 -				//								 new LLMeshSkinInfoResponder(mesh_id, offset, size));
   2.125  				ret = mCurlRequest->getByteRange(http_url, headers, offset, size,
   2.126 -												 new LLMeshSkinInfoResponder(mesh_id, offset, size), gSavedSettings.getS32("FSMeshRequestTimeout"));
   2.127 -				// </FS:Ansariel>
   2.128 +												 new LLMeshSkinInfoResponder(mesh_id, offset, size));
   2.129  				if(ret)
   2.130  				{
   2.131  					LLMeshRepository::sHTTPRequestCount++;
   2.132 @@ -991,12 +917,8 @@
   2.133  			std::string http_url = constructUrl(mesh_id);
   2.134  			if (!http_url.empty())
   2.135  			{				
   2.136 -				// <FS:Ansariel> Customizable mesh request timeout
   2.137 -				//ret = mCurlRequest->getByteRange(http_url, headers, offset, size,
   2.138 -				//								 new LLMeshDecompositionResponder(mesh_id, offset, size));
   2.139  				ret = mCurlRequest->getByteRange(http_url, headers, offset, size,
   2.140 -												 new LLMeshDecompositionResponder(mesh_id, offset, size), gSavedSettings.getS32("FSMeshRequestTimeout"));
   2.141 -				// </FS:Ansariel>
   2.142 +												 new LLMeshDecompositionResponder(mesh_id, offset, size));
   2.143  				if(ret)
   2.144  				{
   2.145  					LLMeshRepository::sHTTPRequestCount++;
   2.146 @@ -1076,12 +998,8 @@
   2.147  			std::string http_url = constructUrl(mesh_id);
   2.148  			if (!http_url.empty())
   2.149  			{				
   2.150 -				// <FS:Ansariel> Customizable mesh request timeout
   2.151 -				//ret = mCurlRequest->getByteRange(http_url, headers, offset, size,
   2.152 -				//								 new LLMeshPhysicsShapeResponder(mesh_id, offset, size));
   2.153  				ret = mCurlRequest->getByteRange(http_url, headers, offset, size,
   2.154 -												 new LLMeshPhysicsShapeResponder(mesh_id, offset, size), gSavedSettings.getS32("FSMeshRequestTimeout"));
   2.155 -				// </FS:Ansariel>
   2.156 +												 new LLMeshPhysicsShapeResponder(mesh_id, offset, size));
   2.157  
   2.158  				if(ret)
   2.159  				{
   2.160 @@ -1168,18 +1086,6 @@
   2.161  		if(retval)
   2.162  		{
   2.163  			LLMeshRepository::sHTTPRequestCount++;
   2.164 -
   2.165 -			// <FS:Ansariel> Mesh header/LOD retry functionality
   2.166 -			S32 frameTime = gFrameTimeSeconds;
   2.167 -			LL_DEBUGS("MeshRequestTimeout") << "Mesh header request: SculptID=" << mesh_params.getSculptID() << ", gFrameTimeSeconds=" << frameTime << LL_ENDL;
   2.168 -			if (mMutex)
   2.169 -			{
   2.170 -				mMutex->lock();
   2.171 -				mActiveHeaderRequests.insert(ActiveHeaderRequest(mesh_params, frameTime));
   2.172 -				LL_DEBUGS("MeshRequestTimeout") << "Active mesh header requests: " << mActiveHeaderRequests.size() << LL_ENDL;
   2.173 -				mMutex->unlock();
   2.174 -			}
   2.175 -			// </FS:Ansariel> Mesh header/LOD retry functionality
   2.176  		}
   2.177  		count++;
   2.178  	}
   2.179 @@ -1248,28 +1154,12 @@
   2.180  			std::string http_url = constructUrl(mesh_id);
   2.181  			if (!http_url.empty())
   2.182  			{				
   2.183 -				// <FS:Ansariel> Customizable mesh request timeout
   2.184 -				//retval = mCurlRequest->getByteRange(constructUrl(mesh_id), headers, offset, size,
   2.185 -				//						   new LLMeshLODResponder(mesh_params, lod, offset, size));
   2.186  				retval = mCurlRequest->getByteRange(constructUrl(mesh_id), headers, offset, size,
   2.187 -										   new LLMeshLODResponder(mesh_params, lod, offset, size), gSavedSettings.getS32("FSMeshRequestTimeout"));
   2.188 -				// </FS:Ansariel>
   2.189 +										   new LLMeshLODResponder(mesh_params, lod, offset, size));
   2.190  
   2.191  				if(retval)
   2.192  				{
   2.193  					LLMeshRepository::sHTTPRequestCount++;
   2.194 -
   2.195 -					// <FS:Ansariel> Mesh header/LOD retry functionality
   2.196 -					S32 frameTime = gFrameTimeSeconds;
   2.197 -					LL_DEBUGS("MeshRequestTimeout") << "Mesh LOD request: SculptID=" << mesh_params.getSculptID() << ", LOD=" << lod << ", gFrameTimeSeconds=" << frameTime << LL_ENDL;
   2.198 -					if (mMutex)
   2.199 -					{
   2.200 -						mMutex->lock();
   2.201 -						mActiveLODRequests.insert(ActiveLODRequest(mesh_params, lod, frameTime));
   2.202 -						LL_DEBUGS("MeshRequestTimeout") << "Active mesh LOD requests: " << mActiveLODRequests.size() << LL_ENDL;
   2.203 -						mMutex->unlock();
   2.204 -					}
   2.205 -					// </FS:Ansariel> Mesh header/LOD retry functionality
   2.206  				}
   2.207  				count++;
   2.208  			}
   2.209 @@ -2041,14 +1931,6 @@
   2.210  	{
   2.211  		return;
   2.212  	}
   2.213 -	// <FS:Ansariel> Mesh header/LOD retry functionality
   2.214 -	{
   2.215 -		LLMutexLock lock(gMeshRepo.mThread->mMutex);
   2.216 -		LLMeshRepoThread::ActiveLODRequest Req(mMeshParams, mLOD);
   2.217 -		gMeshRepo.mThread->mActiveLODRequests.erase(Req);
   2.218 -		LL_DEBUGS("MeshRequestTimeout") << "Cleared active mesh LOD request: SculptID=" << mMeshParams.getSculptID() << ", LOD=" << mLOD << LL_ENDL;
   2.219 -	}
   2.220 -	// </FS:Ansariel> Mesh header/LOD retry functionality
   2.221  	
   2.222  	S32 data_size = buffer->countAfter(channels.in(), NULL);
   2.223  
   2.224 @@ -2060,11 +1942,7 @@
   2.225  
   2.226  	if (data_size < mRequestedBytes)
   2.227  	{
   2.228 -		// <FS:Ansariel> Also retry on 408: Request timeout (The client did
   2.229 -		//               not produce a request within the time that the server
   2.230 -		//               was prepared to wait.)
   2.231 -		//if (status == HTTP_INTERNAL_ERROR || status == HTTP_SERVICE_UNAVAILABLE)
   2.232 -		if (status == HTTP_REQUEST_TIME_OUT || status == HTTP_INTERNAL_ERROR || status == HTTP_SERVICE_UNAVAILABLE)
   2.233 +		if (status == HTTP_INTERNAL_ERROR || status == HTTP_SERVICE_UNAVAILABLE)
   2.234  		{ //timeout or service unavailable, try again
   2.235  			llwarns << "Timeout or service unavailable, retrying." << llendl;
   2.236  			LLMeshRepository::sHTTPRetryCount++;
   2.237 @@ -2129,11 +2007,7 @@
   2.238  
   2.239  	if (data_size < mRequestedBytes)
   2.240  	{
   2.241 -		// <FS:Ansariel> Also retry on 408: Request timeout (The client did
   2.242 -		//               not produce a request within the time that the server
   2.243 -		//               was prepared to wait.)
   2.244 -		//if (status == HTTP_INTERNAL_ERROR || status == HTTP_SERVICE_UNAVAILABLE)
   2.245 -		if (status == HTTP_REQUEST_TIME_OUT || status == HTTP_INTERNAL_ERROR || status == HTTP_SERVICE_UNAVAILABLE)
   2.246 +		if (status == HTTP_INTERNAL_ERROR || status == HTTP_SERVICE_UNAVAILABLE)
   2.247  		{ //timeout or service unavailable, try again
   2.248  			llwarns << "Timeout or service unavailable, retrying loadMeshSkinInfo() for " << mMeshID << llendl;
   2.249  			LLMeshRepository::sHTTPRetryCount++;
   2.250 @@ -2197,11 +2071,7 @@
   2.251  
   2.252  	if (data_size < mRequestedBytes)
   2.253  	{
   2.254 -		// <FS:Ansariel> Also retry on 408: Request timeout (The client did
   2.255 -		//               not produce a request within the time that the server
   2.256 -		//               was prepared to wait.)
   2.257 -		//if (status == HTTP_INTERNAL_ERROR || status == HTTP_SERVICE_UNAVAILABLE)
   2.258 -		if (status == HTTP_REQUEST_TIME_OUT || status == HTTP_INTERNAL_ERROR || status == HTTP_SERVICE_UNAVAILABLE)
   2.259 +		if (status == HTTP_INTERNAL_ERROR || status == HTTP_SERVICE_UNAVAILABLE)
   2.260  		{ //timeout or service unavailable, try again
   2.261  			llwarns << "Timeout or service unavailable, retrying loadMeshDecomposition() for " << mMeshID << llendl;
   2.262  			LLMeshRepository::sHTTPRetryCount++;
   2.263 @@ -2266,11 +2136,7 @@
   2.264  
   2.265  	if (data_size < mRequestedBytes)
   2.266  	{
   2.267 -		// <FS:Ansariel> Also retry on 408: Request timeout (The client did
   2.268 -		//               not produce a request within the time that the server
   2.269 -		//               was prepared to wait.)
   2.270 -		//if (status == HTTP_INTERNAL_ERROR || status == HTTP_SERVICE_UNAVAILABLE)
   2.271 -		if (status == HTTP_REQUEST_TIME_OUT || status == HTTP_INTERNAL_ERROR || status == HTTP_SERVICE_UNAVAILABLE)
   2.272 +		if (status == HTTP_INTERNAL_ERROR || status == HTTP_SERVICE_UNAVAILABLE)
   2.273  		{ //timeout or service unavailable, try again
   2.274  			llwarns << "Timeout or service unavailable, retrying loadMeshPhysicsShape() for " << mMeshID << llendl;
   2.275  			LLMeshRepository::sHTTPRetryCount++;
   2.276 @@ -2325,15 +2191,6 @@
   2.277  		return;
   2.278  	}
   2.279  
   2.280 -	// <FS:Ansariel> Mesh header/LOD retry functionality
   2.281 -	{
   2.282 -		LLMutexLock lock(gMeshRepo.mThread->mMutex);
   2.283 -		LLMeshRepoThread::ActiveHeaderRequest Req(mMeshParams);
   2.284 -		gMeshRepo.mThread->mActiveHeaderRequests.erase(Req);
   2.285 -		LL_DEBUGS("MeshRequestTimeout") << "Cleared active mesh header request: " << mMeshParams.getSculptID() << LL_ENDL;
   2.286 -	}
   2.287 -	// </FS:Ansariel> Mesh header/LOD retry functionality
   2.288 -
   2.289  	// *TODO: What about 3xx redirect codes? What about status 400 (Bad Request)?
   2.290  	if (status < 200 || status > 400)
   2.291  	{
   2.292 @@ -2624,17 +2481,6 @@
   2.293  	// <FS:Ansariel> Use faster LLCachedControls for frequently visited locations
   2.294  	//LLMeshRepoThread::sMaxConcurrentRequests = gSavedSettings.getU32("MeshMaxConcurrentRequests");
   2.295  	static LLCachedControl<U32> meshMaxConcurrentRequests(gSavedSettings, "MeshMaxConcurrentRequests");
   2.296 -	//<FS:TS> FIRE-11451: Cap concurrent requests at a sane value
   2.297 -	if ((U32)meshMaxConcurrentRequests > MESH_CONCURRENT_REQUEST_LIMIT)
   2.298 -	{
   2.299 -		LLSD args;
   2.300 -		args["VALUE"] = llformat("%d", (U32)meshMaxConcurrentRequests);
   2.301 -		args["MAX"] = llformat("%d", MESH_CONCURRENT_REQUEST_LIMIT);
   2.302 -		args["DEFAULT"] = llformat("%d", MESH_CONCURRENT_REQUEST_RESET);
   2.303 -		LLNotificationsUtil::add("MeshMaxConcurrentReqTooHigh", args);
   2.304 -		gSavedSettings.setU32("MeshMaxConcurrentRequests",MESH_CONCURRENT_REQUEST_RESET);
   2.305 -	}
   2.306 -	//</FS:TS> FIRE-11451
   2.307  	LLMeshRepoThread::sMaxConcurrentRequests = (U32)meshMaxConcurrentRequests;
   2.308  	// </FS:Ansariel>
   2.309  
     3.1 --- a/indra/newview/llmeshrepository.h	Mon Feb 24 23:25:55 2014 -0800
     3.2 +++ b/indra/newview/llmeshrepository.h	Tue Feb 25 23:03:29 2014 -0800
     3.3 @@ -263,70 +263,6 @@
     3.4  		}
     3.5  	};
     3.6  
     3.7 -	// <FS:Ansariel> Mesh header/LOD retry functionality
     3.8 -	class ActiveHeaderRequest
     3.9 -	{
    3.10 -	public:
    3.11 -		LLVolumeParams	mMeshParams;
    3.12 -		F32				mFrameTimeStart;
    3.13 -
    3.14 -		ActiveHeaderRequest()
    3.15 -		{
    3.16 -			mMeshParams = LLVolumeParams();
    3.17 -		}
    3.18 -
    3.19 -		ActiveHeaderRequest(const LLVolumeParams& mesh_params, S32 frametime = 0)
    3.20 -			: mMeshParams(mesh_params), mFrameTimeStart(frametime)
    3.21 -		{
    3.22 -		}
    3.23 -
    3.24 -		bool operator==(const ActiveHeaderRequest& rhs) const
    3.25 -		{
    3.26 -			return (mMeshParams == rhs.mMeshParams);
    3.27 -		}
    3.28 -
    3.29 -		bool operator<(const ActiveHeaderRequest& rhs) const
    3.30 -		{
    3.31 -			return (mMeshParams < rhs.mMeshParams);
    3.32 -		}
    3.33 -	};
    3.34 -
    3.35 -	class ActiveLODRequest
    3.36 -	{
    3.37 -	public:
    3.38 -		LLVolumeParams	mMeshParams;
    3.39 -		S32				mLOD;
    3.40 -		F32				mFrameTimeStart;
    3.41 -
    3.42 -		ActiveLODRequest()
    3.43 -		{
    3.44 -			mMeshParams = LLVolumeParams();
    3.45 -			mLOD = 0;
    3.46 -		}
    3.47 -
    3.48 -		ActiveLODRequest(const LLVolumeParams& mesh_params, S32 lod, S32 frametime = 0)
    3.49 -			: mMeshParams(mesh_params), mLOD(lod), mFrameTimeStart(frametime)
    3.50 -		{
    3.51 -		}
    3.52 -
    3.53 -		bool operator==(const ActiveLODRequest& rhs) const
    3.54 -		{
    3.55 -			return (mMeshParams == rhs.mMeshParams &&
    3.56 -				mLOD == rhs.mLOD);
    3.57 -		}
    3.58 -
    3.59 -		bool operator<(const ActiveLODRequest& rhs) const
    3.60 -		{
    3.61 -			if (mMeshParams == rhs.mMeshParams)
    3.62 -			{
    3.63 -				return (mLOD < rhs.mLOD);
    3.64 -			}
    3.65 -			return (mMeshParams < rhs.mMeshParams);
    3.66 -		}
    3.67 -
    3.68 -	};
    3.69 -	// </FS:Ansariel> Mesh header/LOD retry functionality
    3.70 -
    3.71  	struct CompareScoreGreater
    3.72  	{
    3.73  		bool operator()(const LODRequest& lhs, const LODRequest& rhs)
    3.74 @@ -371,14 +307,6 @@
    3.75  	//queue of requested LODs
    3.76  	std::queue<LODRequest> mLODReqQ;
    3.77  
    3.78 -	// <FS:Ansariel> Mesh header/LOD retry functionality
    3.79 -	//map of currently running header requests via HTTP
    3.80 -	std::set<ActiveHeaderRequest> mActiveHeaderRequests;
    3.81 -
    3.82 -	//map of currently running LOD requests via HTTP
    3.83 -	std::set<ActiveLODRequest> mActiveLODRequests;
    3.84 -	// </FS:Ansariel> Mesh header/LOD retry functionality
    3.85 -
    3.86  	//queue of unavailable LODs (either asset doesn't exist or asset doesn't have desired LOD)
    3.87  	std::queue<LODRequest> mUnavailableQ;
    3.88  
     4.1 --- a/indra/newview/skins/default/xui/en/notifications.xml	Mon Feb 24 23:25:55 2014 -0800
     4.2 +++ b/indra/newview/skins/default/xui/en/notifications.xml	Tue Feb 25 23:03:29 2014 -0800
     4.3 @@ -11601,14 +11601,6 @@
     4.4  AntiSpam: Blocked [SOURCE] for sending a chat message with more than [COUNT] lines.
     4.5      </notification>
     4.6  
     4.7 -    <notification
     4.8 -     icon="alertmodal.tga"
     4.9 -     name="MeshMaxConcurrentReqTooHigh"
    4.10 -     type="alertmodal">
    4.11 -The value you set for the number of concurrent requests to load mesh objects, [VALUE], is higher than the maximum of [MAX]. It has been reset to the default of [DEFAULT].
    4.12 -    <tag>fail</tag>
    4.13 -    </notification>
    4.14 -
    4.15    <!-- <FS:Zi> Notification template for changed settings when selecting certain skins -->
    4.16    <!--         The actual texts for the messages are in strings.xml -->
    4.17    <notification

mercurial