Commits

Baker Linden committed 910a75f

[MAINT-513] Large group management
- Reduced the timeout to 5 minutes, down from 10 minutes.
- Provided output for GroupMemberResponder error
- Removed commented calls to sendGroupMembersRequest
- Reordered calls to sendCapGroupMembersRequest so it's called last

Comments (0)

Files changed (4)

indra/newview/llgroupmgr.cpp

 		GroupMemberDataResponder() {}
 		virtual ~GroupMemberDataResponder() {}
 		virtual void result(const LLSD& pContent);
-		virtual void error(U32 pStatus, const std::string& pReason) {}
+		virtual void error(U32 pStatus, const std::string& pReason);
 private:
 		LLSD mMemberData;
 };
 
+void GroupMemberDataResponder::error(U32 pStatus, const std::string& pReason)
+{
+	LL_WARNS("GrpMgr") << "Error receiving group member data." << LL_ENDL;
+}
+
 void GroupMemberDataResponder::result(const LLSD& content)
 {
 	LLGroupMgr::processCapGroupMembersRequest(content);
 	// Check to make sure we have our capabilities
 	if(!currentRegion->capabilitiesReceived())
 	{
-		LL_INFOS("BAKER") << " Capabilities not received!" << LL_ENDL;
+		LL_WARNS("GrpMgr") << " Capabilities not received!" << LL_ENDL;
 		return;
 	}
 
 
 	LLHTTPClient::ResponderPtr grp_data_responder = new GroupMemberDataResponder();
 	
-	// This could take a while to finish, timeout after 10 minutes.
-	LLHTTPClient::post(cap_url, body, grp_data_responder, LLSD(), 600);
+	// This could take a while to finish, timeout after 5 minutes.
+	LLHTTPClient::post(cap_url, body, grp_data_responder, LLSD(), 300);
 
 	mLastGroupMembersRequestFrame = gFrameCount;
 }
 	// this entire system (it would be nice, but I don't have the time), 
 	// I'm going to be dumb and just call services I most likely don't need 
 	// with the thought being that the system might need it to be done.
+	// 
+	// TODO:
+	// Refactor to reduce multiple calls for data we already have.
 	if(group_datap->mTitles.size() < 1)
 		LLGroupMgr::getInstance()->sendGroupTitlesRequest(group_id);
 

indra/newview/llpanelgroupgeneral.cpp

 	{
 		LLGroupMgr::getInstance()->sendGroupTitlesRequest(mGroupID);
 		LLGroupMgr::getInstance()->sendGroupPropertiesRequest(mGroupID);
-
 		
 		if (!gdatap || !gdatap->isMemberDataComplete() )
 		{
 			LLGroupMgr::getInstance()->sendCapGroupMembersRequest(mGroupID);
-			//LLGroupMgr::getInstance()->sendGroupMembersRequest(mGroupID);
 		}
 
 		mFirstUse = FALSE;

indra/newview/llpanelgroupinvite.cpp

 		if (!mPendingUpdate) 
 		{
 			LLGroupMgr::getInstance()->sendGroupPropertiesRequest(mImplementation->mGroupID);
-			
+			LLGroupMgr::getInstance()->sendGroupRoleDataRequest(mImplementation->mGroupID);
 			LLGroupMgr::getInstance()->sendCapGroupMembersRequest(mImplementation->mGroupID);
-			//LLGroupMgr::getInstance()->sendGroupMembersRequest(mImplementation->mGroupID);
-
-			LLGroupMgr::getInstance()->sendGroupRoleDataRequest(mImplementation->mGroupID);
 		}
 		mPendingUpdate = TRUE;
 	} 

indra/newview/llpanelgrouproles.cpp

 		if (!gdatap || !gdatap->isMemberDataComplete() )
 		{
 			LLGroupMgr::getInstance()->sendCapGroupMembersRequest(mGroupID);
-			//LLGroupMgr::getInstance()->sendGroupMembersRequest(mGroupID);
 		}
 
 		// Check role data.
 	if (!gdatap || !gdatap->isMemberDataComplete())
 	{
 		LLGroupMgr::getInstance()->sendCapGroupMembersRequest(mGroupID);
-		//LLGroupMgr::getInstance()->sendGroupMembersRequest(mGroupID);
 	}
 	
 	if (!gdatap || !gdatap->isRoleMemberDataComplete())
 	else
 	{
 		LLGroupMgr::getInstance()->sendCapGroupMembersRequest(mGroupID);
-		//LLGroupMgr::getInstance()->sendGroupMembersRequest(mGroupID);
 	}
 
 	if (gdatap->isRoleDataComplete())