summaryrefslogtreecommitdiff
path: root/indra/newview/llaisapi.cpp
diff options
context:
space:
mode:
authorAndrey Kleshchev <andreykproductengine@lindenlab.com>2023-04-25 12:25:15 +0300
committerAndrey Kleshchev <andreykproductengine@lindenlab.com>2023-04-25 12:27:44 +0300
commitc008d3e030ca4019e24de9a4831dc36727555fd2 (patch)
tree055dbaf81473950db68416b839539925c954c60d /indra/newview/llaisapi.cpp
parent154ab03bf8a5dacc3128718d1f15160f0cbe2b33 (diff)
SL-19533 Reduce inventory fetch stalls
Diffstat (limited to 'indra/newview/llaisapi.cpp')
-rw-r--r--indra/newview/llaisapi.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/indra/newview/llaisapi.cpp b/indra/newview/llaisapi.cpp
index 117a596cd2..7c293fcf63 100644
--- a/indra/newview/llaisapi.cpp
+++ b/indra/newview/llaisapi.cpp
@@ -771,7 +771,7 @@ void AISAPI::InvokeAISCommandCoro(LLCoreHttpUtil::HttpCoroutineAdapter::ptr_t ht
LL_DEBUGS("Inventory") << "Request type: " << (S32)type
<< " \nRequest target: " << targetId
- << " \nElapsed time ince request: " << elapsed_time
+ << " \nElapsed time since request: " << elapsed_time
<< " \nstatus: " << status.toULong() << LL_ENDL;
}
else
@@ -904,6 +904,8 @@ AISUpdate::AISUpdate(const LLSD& update, bool fetch, S32 depth)
: mFetch(fetch)
, mFetchDepth(depth)
{
+ mTimer.setTimerExpirySec(debugLoggingEnabled("Inventory") ? EXPIRY_SECONDS_DEBUG : EXPIRY_SECONDS_LIVE);
+ mTimer.start();
parseUpdate(update);
}
@@ -1279,6 +1281,13 @@ void AISUpdate::parseDescendentCount(const LLUUID& category_id, const LLSD& embe
void AISUpdate::parseEmbedded(const LLSD& embedded, S32 depth)
{
+ if (mTimer.hasExpired())
+ {
+ llcoro::suspend();
+ LLCoros::checkStop();
+ mTimer.setTimerExpirySec(debugLoggingEnabled("Inventory") ? EXPIRY_SECONDS_DEBUG : EXPIRY_SECONDS_LIVE);
+ }
+
if (embedded.has("links")) // _embedded in a category
{
parseEmbeddedLinks(embedded["links"]);