diff options
author | Oz Linden <oz@lindenlab.com> | 2015-05-15 15:30:04 -0400 |
---|---|---|
committer | Oz Linden <oz@lindenlab.com> | 2015-05-15 15:30:04 -0400 |
commit | 3537b6a70e618390696dcf71bd0db9e2a2136ca0 (patch) | |
tree | b261a2753b02a909de587f1ff94b9c0c89f722ef | |
parent | 1da60c1d92e7af7d9f3de141574179717cf1e9cd (diff) |
add reception of how many avatars report that you are over their limit
-rw-r--r-- | indra/newview/llavatarrenderinfoaccountant.cpp | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/indra/newview/llavatarrenderinfoaccountant.cpp b/indra/newview/llavatarrenderinfoaccountant.cpp index 5746a43306..76d8d98186 100644 --- a/indra/newview/llavatarrenderinfoaccountant.cpp +++ b/indra/newview/llavatarrenderinfoaccountant.cpp @@ -52,6 +52,8 @@ static const std::string KEY_AGENTS = "agents"; // map static const std::string KEY_WEIGHT = "weight"; // integer static const std::string KEY_TOO_COMPLEX = "tooComplex"; // bool +static const std::string KEY_OVER_COMPLEXITY_LIMIT = "overlimit"; // integer +static const std::string KEY_REPORTING_COMPLEXITY_LIMIT = "reportinglimit"; // integer static const std::string KEY_IDENTIFIER = "identifier"; static const std::string KEY_MESSAGE = "message"; @@ -104,12 +106,23 @@ public: LLCore::HttpStatus status = response->getStatus(); if (status) { + LL_DEBUGS("AvatarRenderInfo") << "response"<<LL_ENDL; LLSD avatar_render_info; if (LLCoreHttpUtil::responseToLLSD(response, false /* quiet logging */, avatar_render_info)) { if (avatar_render_info.isMap()) { + if ( avatar_render_info.has(KEY_REPORTING_COMPLEXITY_LIMIT) + && avatar_render_info.has(KEY_OVER_COMPLEXITY_LIMIT)) + { + U32 reporting = avatar_render_info[KEY_REPORTING_COMPLEXITY_LIMIT].asInteger(); + U32 overlimit = avatar_render_info[KEY_OVER_COMPLEXITY_LIMIT].asInteger(); + + LL_DEBUGS("AvatarRenderInfo") << "complexity limit: "<<reporting<<" reporting, "<<overlimit<<" over limit"<<LL_ENDL; + // @TODO call self with this info + } + if (avatar_render_info.has(KEY_AGENTS)) { const LLSD & agents = avatar_render_info[KEY_AGENTS]; @@ -226,8 +239,8 @@ class LLAvatarRenderInfoPostHandler : public LLCore::HttpHandler }; -// Send request for one region, no timer checks -// called when the +// Send request for avatar weights in one region +// called when the mRenderInfoScanTimer expires (forced when entering a new region) void LLAvatarRenderInfoAccountant::sendRenderInfoToRegion(LLViewerRegion * regionp) { if ( regionp->getRenderInfoReportTimer().hasExpired() ) // Time to make request @@ -255,7 +268,7 @@ void LLAvatarRenderInfoAccountant::sendRenderInfoToRegion(LLViewerRegion * regio if (avatar->getVisualComplexity() > 0) { info[KEY_WEIGHT] = avatar->getVisualComplexity(); - info[KEY_TOO_COMPLEX] = avatar->isTooComplex(); + info[KEY_TOO_COMPLEX] = LLSD::Boolean(avatar->isTooComplex()); agents[avatar->getID().asString()] = info; LL_DEBUGS("AvatarRenderInfo") << "Sending avatar render info for " << avatar->getID() |