当前位置: 首页>>代码示例>>C++>>正文


C++ LLMessageSystem::isSendFullFast方法代码示例

本文整理汇总了C++中LLMessageSystem::isSendFullFast方法的典型用法代码示例。如果您正苦于以下问题:C++ LLMessageSystem::isSendFullFast方法的具体用法?C++ LLMessageSystem::isSendFullFast怎么用?C++ LLMessageSystem::isSendFullFast使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在LLMessageSystem的用法示例。


在下文中一共展示了LLMessageSystem::isSendFullFast方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: returnObjectsFromParcel

void LLPanelScriptLimitsRegionMemory::returnObjectsFromParcel(S32 local_id)
{
	LLMessageSystem *msg = gMessageSystem;

	LLViewerRegion* region = gAgent.getRegion();
	if (!region) return;

	LLCtrlListInterface *list = childGetListInterface("scripts_list");
	if (!list || list->getItemCount() == 0) return;

	std::vector<LLSD>::iterator id_itor;

	bool start_message = true;

	for (id_itor = mObjectListItems.begin(); id_itor != mObjectListItems.end(); ++id_itor)
	{
		LLSD element = *id_itor;
		if (!list->isSelected(element["id"].asUUID()))
		{
			// Selected only
			continue;
		}
		
		if(element["local_id"].asInteger() != local_id)
		{
			// Not the parcel we are looking for
			continue;
		}

		if (start_message)
		{
			msg->newMessageFast(_PREHASH_ParcelReturnObjects);
			msg->nextBlockFast(_PREHASH_AgentData);
			msg->addUUIDFast(_PREHASH_AgentID,	gAgent.getID());
			msg->addUUIDFast(_PREHASH_SessionID,gAgent.getSessionID());
			msg->nextBlockFast(_PREHASH_ParcelData);
			msg->addS32Fast(_PREHASH_LocalID, element["local_id"].asInteger());
			msg->addU32Fast(_PREHASH_ReturnType, RT_LIST);
			start_message = false;
		}

		msg->nextBlockFast(_PREHASH_TaskIDs);
		msg->addUUIDFast(_PREHASH_TaskID, element["id"].asUUID());

		if (msg->isSendFullFast(_PREHASH_TaskIDs))
		{
			msg->sendReliable(region->getHost());
			start_message = true;
		}
	}

	if (!start_message)
	{
		msg->sendReliable(region->getHost());
	}
}
开发者ID:AlexRa,项目名称:Kirstens-clone,代码行数:56,代码来源:llfloaterscriptlimits.cpp

示例2: doToObjects

void LLFloaterTopObjects::doToObjects(int action, bool all)
{
	LLMessageSystem *msg = gMessageSystem;

	LLViewerRegion* region = gAgent.getRegion();
	if (!region) return;

	LLCtrlListInterface *list = getChild<LLUICtrl>("objects_list")->getListInterface();
	if (!list || list->getItemCount() == 0) return;

	uuid_vec_t::iterator id_itor;

	bool start_message = true;

	for (id_itor = mObjectListIDs.begin(); id_itor != mObjectListIDs.end(); ++id_itor)
	{
		LLUUID task_id = *id_itor;
		if (!all && !list->isSelected(task_id))
		{
			// Selected only
			continue;
		}
		if (start_message)
		{
			if (action == ACTION_RETURN)
			{
				msg->newMessageFast(_PREHASH_ParcelReturnObjects);
			}
			else
			{
				msg->newMessageFast(_PREHASH_ParcelDisableObjects);
			}
			msg->nextBlockFast(_PREHASH_AgentData);
			msg->addUUIDFast(_PREHASH_AgentID,	gAgent.getID());
			msg->addUUIDFast(_PREHASH_SessionID,gAgent.getSessionID());
			msg->nextBlockFast(_PREHASH_ParcelData);
			msg->addS32Fast(_PREHASH_LocalID, -1); // Whole region
			msg->addS32Fast(_PREHASH_ReturnType, RT_NONE);
			start_message = false;
		}

		msg->nextBlockFast(_PREHASH_TaskIDs);
		msg->addUUIDFast(_PREHASH_TaskID, task_id);

		if (msg->isSendFullFast(_PREHASH_TaskIDs))
		{
			msg->sendReliable(region->getHost());
			start_message = true;
		}
	}

	if (!start_message)
	{
		msg->sendReliable(region->getHost());
	}
}
开发者ID:Xara,项目名称:Astra-Viewer-2,代码行数:56,代码来源:llfloatertopobjects.cpp

示例3: send

void ReplySender::send(const LLUUID& id,
                       const LLCacheNameEntry& entry, const LLHost& host)
{
    if (mPending)
    {
        if (mCurrIsGroup != entry.mIsGroup
                ||  mCurrHost != host)
        {
            flush();
        }
    }

    if (!mPending)
    {
        mPending = true;
        mCurrIsGroup = entry.mIsGroup;
        mCurrHost = host;

        if(mCurrIsGroup)
            mMsg->newMessageFast(_PREHASH_UUIDGroupNameReply);
        else
            mMsg->newMessageFast(_PREHASH_UUIDNameReply);
    }

    mMsg->nextBlockFast(_PREHASH_UUIDNameBlock);
    mMsg->addUUIDFast(_PREHASH_ID, id);
    if(mCurrIsGroup)
    {
        mMsg->addStringFast(_PREHASH_GroupName, entry.mGroupName);
    }
    else
    {
        mMsg->addStringFast(_PREHASH_FirstName,	entry.mFirstName);
        mMsg->addStringFast(_PREHASH_LastName, entry.mLastName);
    }

    if(mMsg->isSendFullFast(_PREHASH_UUIDNameBlock))
    {
        flush();
    }
}
开发者ID:nathanmarck,项目名称:VoodooNxg,代码行数:41,代码来源:llcachename.cpp


注:本文中的LLMessageSystem::isSendFullFast方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。