diff options
author | Jacek Antonelli | 2008-09-06 18:24:57 -0500 |
---|---|---|
committer | Jacek Antonelli | 2008-09-06 18:25:07 -0500 |
commit | 798d367d54a6c6379ad355bd8345fa40e31e7fe9 (patch) | |
tree | 1921f1708cd0240648c97bc02df2c2ab5f2fc41e /linden/indra/llmessage/llassetstorage.h | |
parent | Second Life viewer sources 1.20.15 (diff) | |
download | meta-impy-798d367d54a6c6379ad355bd8345fa40e31e7fe9.zip meta-impy-798d367d54a6c6379ad355bd8345fa40e31e7fe9.tar.gz meta-impy-798d367d54a6c6379ad355bd8345fa40e31e7fe9.tar.bz2 meta-impy-798d367d54a6c6379ad355bd8345fa40e31e7fe9.tar.xz |
Second Life viewer sources 1.21.0-RC
Diffstat (limited to 'linden/indra/llmessage/llassetstorage.h')
-rw-r--r-- | linden/indra/llmessage/llassetstorage.h | 25 |
1 files changed, 19 insertions, 6 deletions
diff --git a/linden/indra/llmessage/llassetstorage.h b/linden/indra/llmessage/llassetstorage.h index 739242a..86bf66a 100644 --- a/linden/indra/llmessage/llassetstorage.h +++ b/linden/indra/llmessage/llassetstorage.h | |||
@@ -197,7 +197,8 @@ public: | |||
197 | }; | 197 | }; |
198 | 198 | ||
199 | 199 | ||
200 | 200 | // Map of known bad assets | |
201 | typedef std::map<LLUUID,U64,lluuid_less> toxic_asset_map_t; | ||
201 | 202 | ||
202 | typedef void (*LLGetAssetCallback)(LLVFS *vfs, const LLUUID &asset_id, | 203 | typedef void (*LLGetAssetCallback)(LLVFS *vfs, const LLUUID &asset_id, |
203 | LLAssetType::EType asset_type, void *user_data, S32 status, LLExtStat ext_status); | 204 | LLAssetType::EType asset_type, void *user_data, S32 status, LLExtStat ext_status); |
@@ -231,6 +232,9 @@ protected: | |||
231 | request_list_t mPendingUploads; | 232 | request_list_t mPendingUploads; |
232 | request_list_t mPendingLocalUploads; | 233 | request_list_t mPendingLocalUploads; |
233 | 234 | ||
235 | // Map of toxic assets - these caused problems when recently rezzed, so avoid them | ||
236 | toxic_asset_map_t mToxicAssetMap; // Objects in this list are known to cause problems and are not loaded | ||
237 | |||
234 | public: | 238 | public: |
235 | LLAssetStorage(LLMessageSystem *msg, LLXferManager *xfer, | 239 | LLAssetStorage(LLMessageSystem *msg, LLXferManager *xfer, |
236 | LLVFS *vfs, const LLHost &upstream_host); | 240 | LLVFS *vfs, const LLHost &upstream_host); |
@@ -291,6 +295,15 @@ public: | |||
291 | const LLUUID &asset_id, LLAssetType::EType atype, | 295 | const LLUUID &asset_id, LLAssetType::EType atype, |
292 | LLGetAssetCallback cb, void *user_data, BOOL is_priority = FALSE); // Get a particular inventory item. | 296 | LLGetAssetCallback cb, void *user_data, BOOL is_priority = FALSE); // Get a particular inventory item. |
293 | 297 | ||
298 | // Check if an asset is in the toxic map. If it is, the entry is updated | ||
299 | BOOL isAssetToxic( const LLUUID& uuid ); | ||
300 | |||
301 | // Clean the toxic asset list, remove old entries | ||
302 | void flushOldToxicAssets( BOOL force_it ); | ||
303 | |||
304 | // Add an item to the toxic asset map | ||
305 | void markAssetToxic( const LLUUID& uuid ); | ||
306 | |||
294 | protected: | 307 | protected: |
295 | virtual LLSD getPendingDetails(const request_list_t* requests, | 308 | virtual LLSD getPendingDetails(const request_list_t* requests, |
296 | LLAssetType::EType asset_type, | 309 | LLAssetType::EType asset_type, |
@@ -365,7 +378,7 @@ public: | |||
365 | * AssetID version. | 378 | * AssetID version. |
366 | */ | 379 | */ |
367 | virtual void storeAssetData( | 380 | virtual void storeAssetData( |
368 | const char* filename, | 381 | const std::string& filename, |
369 | const LLUUID& asset_id, | 382 | const LLUUID& asset_id, |
370 | LLAssetType::EType type, | 383 | LLAssetType::EType type, |
371 | LLStoreAssetCallback callback, | 384 | LLStoreAssetCallback callback, |
@@ -379,7 +392,7 @@ public: | |||
379 | * TransactionID version | 392 | * TransactionID version |
380 | */ | 393 | */ |
381 | virtual void storeAssetData( | 394 | virtual void storeAssetData( |
382 | const char * filename, | 395 | const std::string& filename, |
383 | const LLTransactionID &transaction_id, | 396 | const LLTransactionID &transaction_id, |
384 | LLAssetType::EType type, | 397 | LLAssetType::EType type, |
385 | LLStoreAssetCallback callback, | 398 | LLStoreAssetCallback callback, |
@@ -438,9 +451,9 @@ protected: | |||
438 | 451 | ||
439 | static class LLMetrics *metric_recipient; | 452 | static class LLMetrics *metric_recipient; |
440 | 453 | ||
441 | static void reportMetric( const LLUUID& asset_id, const LLAssetType::EType asset_type, const char *filename, | 454 | static void reportMetric( const LLUUID& asset_id, const LLAssetType::EType asset_type, const std::string& filename, |
442 | const LLUUID& agent_id, S32 asset_size, EMetricResult result, | 455 | const LLUUID& agent_id, S32 asset_size, EMetricResult result, |
443 | const char *file, const S32 line, const char *message ); | 456 | const char* file, const S32 line, const std::string& message ); |
444 | public: | 457 | public: |
445 | static void setMetricRecipient( LLMetrics *recip ) | 458 | static void setMetricRecipient( LLMetrics *recip ) |
446 | { | 459 | { |