diff options
author | Brad Payne (Vir Linden) <vir@lindenlab.com> | 2015-03-18 21:41:47 -0400 |
---|---|---|
committer | Brad Payne (Vir Linden) <vir@lindenlab.com> | 2015-03-18 21:41:47 -0400 |
commit | 090d3097d569922b7c3b681cb77ff14a29a60b07 (patch) | |
tree | 0b01041e2ad9e6c42a9930803901a3f0e087e617 /indra/newview/llattachmentsmgr.h | |
parent | 8169cde890f70320340a08cbfa29d16033572a9b (diff) |
MAINT-4917 WIP - Attachment deferred bulk COF linking WIP
Diffstat (limited to 'indra/newview/llattachmentsmgr.h')
-rwxr-xr-x | indra/newview/llattachmentsmgr.h | 25 |
1 files changed, 19 insertions, 6 deletions
diff --git a/indra/newview/llattachmentsmgr.h b/indra/newview/llattachmentsmgr.h index c145fa032b..c84229475a 100755 --- a/indra/newview/llattachmentsmgr.h +++ b/indra/newview/llattachmentsmgr.h @@ -60,18 +60,31 @@ public: LLAttachmentsMgr(); virtual ~LLAttachmentsMgr(); - void addAttachment(const LLUUID& item_id, - const U8 attachment_pt, - const BOOL add); + void addAttachmentRequest(const LLUUID& item_id, + const U8 attachment_pt, + const BOOL add); void requestAttachments(const attachments_vec_t& attachment_requests); static void onIdle(void *); -protected: - void onIdle(); - void linkPendingAttachments(); + BOOL attachmentWasRequestedRecently(const LLUUID& inv_item_id, F32 seconds) const; + void addAttachmentRequestTime(const LLUUID& inv_item_id); + void onAttachmentArrived(const LLUUID& inv_item_id); private: + void removeAttachmentRequestTime(const LLUUID& inv_item_id); + void onIdle(); + void requestPendingAttachments(); + void linkRecentlyArrivedAttachments(); + + // Attachments that we are planning to rez but haven't requested from the server yet. attachments_vec_t mPendingAttachments; + + // Attachments that have been requested from server but have not arrived yet. + std::map<LLUUID,LLTimer> mAttachmentRequests; + + // Attachments that have arrived but have not been linked in the COF yet. + std::set<LLUUID> mRecentlyArrivedAttachments; + LLTimer mCOFLinkBatchTimer; }; #endif |