From e7c975b2f136050a3acfa4324d6c27e2bf20f5f8 Mon Sep 17 00:00:00 2001 From: Rye Mutt <rye@alchemyviewer.org> Date: Thu, 26 Aug 2021 07:47:09 -0400 Subject: [PATCH] Add LLMessageSystem::hasFast to avoid excessive mutex locks and string finds --- indra/llmessage/message.cpp | 5 +++++ indra/llmessage/message.h | 1 + 2 files changed, 6 insertions(+) diff --git a/indra/llmessage/message.cpp b/indra/llmessage/message.cpp index 48071ef3610..48aa24bc0ef 100644 --- a/indra/llmessage/message.cpp +++ b/indra/llmessage/message.cpp @@ -3962,6 +3962,11 @@ BOOL LLMessageSystem::has(const char *blockname) const return getNumberOfBlocks(blockname) > 0; } +BOOL LLMessageSystem::hasFast(const char *blockname) const +{ + return getNumberOfBlocksFast(blockname) > 0; +} + S32 LLMessageSystem::getNumberOfBlocksFast(const char *blockname) const { return mMessageReader->getNumberOfBlocks(blockname); diff --git a/indra/llmessage/message.h b/indra/llmessage/message.h index 1a7881e9432..2add4213a6d 100644 --- a/indra/llmessage/message.h +++ b/indra/llmessage/message.h @@ -726,6 +726,7 @@ class LLMessageSystem : public LLMessageSenderInterface void sanityCheck(); BOOL has(const char *blockname) const; + BOOL hasFast(const char *blockname) const; S32 getNumberOfBlocksFast(const char *blockname) const; S32 getNumberOfBlocks(const char *blockname) const; S32 getSizeFast(const char *blockname, const char *varname) const; -- GitLab