summaryrefslogtreecommitdiff
path: root/indra/newview/llavatarrenderinfoaccountant.h
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llavatarrenderinfoaccountant.h')
-rw-r--r--indra/newview/llavatarrenderinfoaccountant.h34
1 files changed, 22 insertions, 12 deletions
diff --git a/indra/newview/llavatarrenderinfoaccountant.h b/indra/newview/llavatarrenderinfoaccountant.h
index d68f2dccfb..870ef4f394 100644
--- a/indra/newview/llavatarrenderinfoaccountant.h
+++ b/indra/newview/llavatarrenderinfoaccountant.h
@@ -29,28 +29,38 @@
#if ! defined(LL_llavatarrenderinfoaccountant_H)
#define LL_llavatarrenderinfoaccountant_H
+#include "httpcommon.h"
+#include "llcoros.h"
+
class LLViewerRegion;
// Class to gather avatar rendering information
// that is sent to or fetched from regions.
-class LLAvatarRenderInfoAccountant
+class LLAvatarRenderInfoAccountant : public LLSingleton<LLAvatarRenderInfoAccountant>
{
-public:
- LLAvatarRenderInfoAccountant() {};
- ~LLAvatarRenderInfoAccountant() {};
+ private:
+ LOG_CLASS(LLAvatarRenderInfoAccountant);
+
+ public:
+ LLAvatarRenderInfoAccountant();
+ ~LLAvatarRenderInfoAccountant();
- static void sendRenderInfoToRegion(LLViewerRegion * regionp);
- static void getRenderInfoFromRegion(LLViewerRegion * regionp);
+ void sendRenderInfoToRegion(LLViewerRegion * regionp);
+ void getRenderInfoFromRegion(LLViewerRegion * regionp);
- static void expireRenderInfoReportTimer(const LLUUID& region_id);
+ void idle(); // called once per frame
- static void idle();
+ void resetRenderInfoScanTimer();
+
+ static void scanNewRegion(const LLUUID& region_id);
- static bool logRenderInfo();
+ private:
+ // frequency of region scans,
+ // further limited by per region Request and Report timers
+ LLFrameTimer mRenderInfoScanTimer;
-private:
- // Send data updates about once per minute, only need per-frame resolution
- static LLFrameTimer sRenderInfoReportTimer;
+ static void avatarRenderInfoGetCoro(std::string url, U64 regionHandle);
+ static void avatarRenderInfoReportCoro(std::string url, U64 regionHandle);
};
#endif /* ! defined(LL_llavatarrenderinfoaccountant_H) */