llvocache.h

Go to the documentation of this file.
00001 
00032 #ifndef LL_LLVOCACHE_H
00033 #define LL_LLVOCACHE_H
00034 
00035 #include "lluuid.h"
00036 #include "lldatapacker.h"
00037 #include "lldlinked.h"
00038 
00039 
00040 //---------------------------------------------------------------------------
00041 // Cache entries
00042 class LLVOCacheEntry;
00043 
00044 class LLVOCacheEntry : public LLDLinked<LLVOCacheEntry>
00045 {
00046 public:
00047         LLVOCacheEntry(U32 local_id, U32 crc, LLDataPackerBinaryBuffer &dp);
00048         LLVOCacheEntry(FILE *fp);
00049         LLVOCacheEntry();
00050         ~LLVOCacheEntry();
00051 
00052         U32 getLocalID() const                  { return mLocalID; }
00053         U32 getCRC() const                              { return mCRC; }
00054         S32 getHitCount() const                 { return mHitCount; }
00055         S32 getCRCChangeCount() const   { return mCRCChangeCount; }
00056 
00057         void dump() const;
00058         void writeToFile(FILE *fp) const;
00059         void assignCRC(U32 crc, LLDataPackerBinaryBuffer &dp);
00060         LLDataPackerBinaryBuffer *getDP(U32 crc);
00061         void recordHit();
00062         void recordDupe() { mDupeCount++; }
00063 
00064 protected:
00065         U32                                                     mLocalID;
00066         U32                                                     mCRC;
00067         S32                                                     mHitCount;
00068         S32                                                     mDupeCount;
00069         S32                                                     mCRCChangeCount;
00070         LLDataPackerBinaryBuffer        mDP;
00071         U8                                                      *mBuffer;
00072 };
00073 
00074 #endif

Generated on Thu Jul 1 06:09:36 2010 for Second Life Viewer by  doxygen 1.4.7