mirror of
https://github.com/RetroShare/RetroShare.git
synced 2024-12-26 07:59:35 -05:00
fixed priority problem in async request of group data tht shows up in RsGxsForumThreadWidget
This commit is contained in:
parent
0f5fd198a4
commit
6616e8a6b3
@ -46,6 +46,7 @@ enum class TokenRequestType: uint8_t
|
||||
MSG_RELATED_INFO = 0x03,
|
||||
GROUP_STATISTICS = 0x04,
|
||||
SERVICE_STATISTICS = 0x05,
|
||||
NO_KILL_TYPE = 0x06,
|
||||
};
|
||||
|
||||
class RsGxsIfaceHelper
|
||||
@ -244,15 +245,14 @@ public:
|
||||
}
|
||||
|
||||
/// @see RsTokenService::requestGroupInfo
|
||||
bool requestGroupInfo( uint32_t& token, const RsTokReqOptions& opts,
|
||||
const std::list<RsGxsGroupId> &groupIds )
|
||||
bool requestGroupInfo( uint32_t& token, const RsTokReqOptions& opts, const std::list<RsGxsGroupId> &groupIds, bool high_priority_request = false )
|
||||
{
|
||||
cancelActiveRequestTokens(TokenRequestType::GROUP_INFO);
|
||||
cancelActiveRequestTokens(TokenRequestType::GROUP_INFO);
|
||||
|
||||
if( mTokenService.requestGroupInfo(token, 0, opts, groupIds))
|
||||
{
|
||||
RS_STACK_MUTEX(mMtx);
|
||||
mActiveTokens[token]=TokenRequestType::GROUP_INFO;
|
||||
mActiveTokens[token]=high_priority_request? (TokenRequestType::NO_KILL_TYPE) : (TokenRequestType::GROUP_INFO);
|
||||
locked_dumpTokens();
|
||||
return true;
|
||||
}
|
||||
@ -261,14 +261,14 @@ public:
|
||||
}
|
||||
|
||||
/// @see RsTokenService::requestGroupInfo
|
||||
bool requestGroupInfo(uint32_t& token, const RsTokReqOptions& opts)
|
||||
bool requestGroupInfo(uint32_t& token, const RsTokReqOptions& opts, bool high_priority_request = false)
|
||||
{
|
||||
cancelActiveRequestTokens(TokenRequestType::GROUP_INFO);
|
||||
cancelActiveRequestTokens(TokenRequestType::GROUP_INFO);
|
||||
|
||||
if( mTokenService.requestGroupInfo(token, 0, opts))
|
||||
{
|
||||
RS_STACK_MUTEX(mMtx);
|
||||
mActiveTokens[token]=TokenRequestType::GROUP_INFO;
|
||||
mActiveTokens[token]=high_priority_request? (TokenRequestType::NO_KILL_TYPE) : (TokenRequestType::GROUP_INFO);
|
||||
locked_dumpTokens();
|
||||
return true;
|
||||
}
|
||||
|
@ -679,7 +679,7 @@ bool p3GxsForums::getForumsInfo( const std::list<RsGxsGroupId>& forumIds, std::v
|
||||
}
|
||||
else
|
||||
{
|
||||
if( !requestGroupInfo(token, opts, forumIds) || waitToken(token,std::chrono::milliseconds(5000)) != RsTokenService::COMPLETE )
|
||||
if( !requestGroupInfo(token, opts, forumIds, forumIds.size()==1) || waitToken(token,std::chrono::milliseconds(5000)) != RsTokenService::COMPLETE )
|
||||
return false;
|
||||
}
|
||||
return getGroupData(token, forumsInfo);
|
||||
|
Loading…
Reference in New Issue
Block a user