mirror of
https://github.com/RetroShare/RetroShare.git
synced 2025-06-09 07:02:41 -04:00
Fix providing mask for setting group subscribeFlag, msgStatus and grpStatus
Tests updated Also setting msg and grp Status to unprocessed and unread on receipt from a sync (see rsgxsflag.h). These are set on bits masked by 0xf00. git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-gxs-b1@5834 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
parent
c5fee54ee7
commit
d591d795bd
9 changed files with 150 additions and 25 deletions
|
@ -105,7 +105,6 @@ class RsGeneralDataService
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
|
||||||
static const std::string MSG_META_SERV_STRING;
|
static const std::string MSG_META_SERV_STRING;
|
||||||
static const std::string MSG_META_STATUS;
|
static const std::string MSG_META_STATUS;
|
||||||
|
|
||||||
|
|
|
@ -47,6 +47,8 @@
|
||||||
#define PRIV_GRP_OFFSET 16
|
#define PRIV_GRP_OFFSET 16
|
||||||
#define GRP_OPTIONS_OFFSET 24
|
#define GRP_OPTIONS_OFFSET 24
|
||||||
|
|
||||||
|
#define GXS_MASK "GXS_MASK_HACK"
|
||||||
|
|
||||||
#define GEN_EXCH_DEBUG 1
|
#define GEN_EXCH_DEBUG 1
|
||||||
|
|
||||||
RsGenExchange::RsGenExchange(RsGeneralDataService *gds, RsNetworkExchangeService *ns,
|
RsGenExchange::RsGenExchange(RsGeneralDataService *gds, RsNetworkExchangeService *ns,
|
||||||
|
@ -986,6 +988,7 @@ void RsGenExchange::setGroupSubscribeFlags(uint32_t& token, const RsGxsGroupId&
|
||||||
GrpLocMetaData g;
|
GrpLocMetaData g;
|
||||||
g.grpId = grpId;
|
g.grpId = grpId;
|
||||||
g.val.put(RsGeneralDataService::GRP_META_SUBSCRIBE_FLAG, (int32_t)flag);
|
g.val.put(RsGeneralDataService::GRP_META_SUBSCRIBE_FLAG, (int32_t)flag);
|
||||||
|
g.val.put(RsGeneralDataService::GRP_META_SUBSCRIBE_FLAG+GXS_MASK, (int32_t)mask); // HACK, need to perform mask operation in a non-blocking location
|
||||||
mGrpLocMetaMap.insert(std::make_pair(token, g));
|
mGrpLocMetaMap.insert(std::make_pair(token, g));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -998,6 +1001,7 @@ void RsGenExchange::setGroupStatusFlags(uint32_t& token, const RsGxsGroupId& grp
|
||||||
GrpLocMetaData g;
|
GrpLocMetaData g;
|
||||||
g.grpId = grpId;
|
g.grpId = grpId;
|
||||||
g.val.put(RsGeneralDataService::GRP_META_STATUS, (int32_t)status);
|
g.val.put(RsGeneralDataService::GRP_META_STATUS, (int32_t)status);
|
||||||
|
g.val.put(RsGeneralDataService::GRP_META_STATUS+GXS_MASK, (int32_t)mask); // HACK, need to perform mask operation in a non-blocking location
|
||||||
mGrpLocMetaMap.insert(std::make_pair(token, g));
|
mGrpLocMetaMap.insert(std::make_pair(token, g));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1021,6 +1025,7 @@ void RsGenExchange::setMsgStatusFlags(uint32_t& token, const RsGxsGrpMsgIdPair&
|
||||||
|
|
||||||
MsgLocMetaData m;
|
MsgLocMetaData m;
|
||||||
m.val.put(RsGeneralDataService::MSG_META_STATUS, (int32_t)status);
|
m.val.put(RsGeneralDataService::MSG_META_STATUS, (int32_t)status);
|
||||||
|
m.val.put(RsGeneralDataService::MSG_META_STATUS+GXS_MASK, (int32_t)mask); // HACK, need to perform mask operation in a non-blocking location
|
||||||
m.msgId = msgId;
|
m.msgId = msgId;
|
||||||
mMsgLocMetaMap.insert(std::make_pair(token, m));
|
mMsgLocMetaMap.insert(std::make_pair(token, m));
|
||||||
}
|
}
|
||||||
|
@ -1047,7 +1052,43 @@ void RsGenExchange::processMsgMetaChanges()
|
||||||
for(; mit != mit_end; mit++)
|
for(; mit != mit_end; mit++)
|
||||||
{
|
{
|
||||||
MsgLocMetaData& m = mit->second;
|
MsgLocMetaData& m = mit->second;
|
||||||
bool ok = mDataStore->updateMessageMetaData(m) == 1;
|
|
||||||
|
int32_t value, mask;
|
||||||
|
bool ok = true;
|
||||||
|
|
||||||
|
// for meta flag changes get flag to apply mask
|
||||||
|
if(m.val.getAsInt32(RsGeneralDataService::MSG_META_STATUS, value))
|
||||||
|
{
|
||||||
|
ok = false;
|
||||||
|
if(m.val.getAsInt32(RsGeneralDataService::MSG_META_STATUS+GXS_MASK, mask))
|
||||||
|
{
|
||||||
|
GxsMsgReq req;
|
||||||
|
std::vector<RsGxsMessageId> msgIdV;
|
||||||
|
msgIdV.push_back(m.msgId.second);
|
||||||
|
req.insert(std::make_pair(m.msgId.first, msgIdV));
|
||||||
|
GxsMsgMetaResult result;
|
||||||
|
mDataStore->retrieveGxsMsgMetaData(req, result);
|
||||||
|
GxsMsgMetaResult::iterator mit = result.find(m.msgId.first);
|
||||||
|
|
||||||
|
if(mit != result.end())
|
||||||
|
{
|
||||||
|
std::vector<RsGxsMsgMetaData*>& msgMetaV = mit->second;
|
||||||
|
|
||||||
|
if(!msgMetaV.empty())
|
||||||
|
{
|
||||||
|
RsGxsMsgMetaData* meta = *(msgMetaV.begin());
|
||||||
|
value = (meta->mMsgStatus & ~mask) | (mask & value);
|
||||||
|
m.val.put(RsGeneralDataService::MSG_META_STATUS, value);
|
||||||
|
delete meta;
|
||||||
|
ok = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
m.val.removeKeyValue(RsGeneralDataService::MSG_META_STATUS+GXS_MASK);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
ok &= mDataStore->updateMessageMetaData(m) == 1;
|
||||||
uint32_t token = mit->first;
|
uint32_t token = mit->first;
|
||||||
|
|
||||||
if(ok)
|
if(ok)
|
||||||
|
@ -1074,7 +1115,11 @@ void RsGenExchange::processGrpMetaChanges()
|
||||||
{
|
{
|
||||||
GrpLocMetaData& g = mit->second;
|
GrpLocMetaData& g = mit->second;
|
||||||
uint32_t token = mit->first;
|
uint32_t token = mit->first;
|
||||||
bool ok = mDataStore->updateGroupMetaData(g) == 1;
|
|
||||||
|
// process mask
|
||||||
|
bool ok = processGrpMask(g.grpId, g.val);
|
||||||
|
|
||||||
|
ok &= mDataStore->updateGroupMetaData(g) == 1;
|
||||||
|
|
||||||
if(ok)
|
if(ok)
|
||||||
{
|
{
|
||||||
|
@ -1089,6 +1134,59 @@ void RsGenExchange::processGrpMetaChanges()
|
||||||
mGrpLocMetaMap.clear();
|
mGrpLocMetaMap.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool RsGenExchange::processGrpMask(const RsGxsGroupId& grpId, ContentValue &grpCv)
|
||||||
|
{
|
||||||
|
// first find out which mask is involved
|
||||||
|
int32_t value, mask, currValue;
|
||||||
|
std::string key;
|
||||||
|
RsGxsGrpMetaData* grpMeta = NULL;
|
||||||
|
bool ok = false;
|
||||||
|
|
||||||
|
|
||||||
|
std::map<RsGxsGroupId, RsGxsGrpMetaData* > grpMetaMap;
|
||||||
|
std::map<RsGxsGroupId, RsGxsGrpMetaData* >::iterator mit;
|
||||||
|
grpMetaMap.insert(std::make_pair(grpId, (RsGxsGrpMetaData*)(NULL)));
|
||||||
|
|
||||||
|
mDataStore->retrieveGxsGrpMetaData(grpMetaMap);
|
||||||
|
|
||||||
|
if((mit = grpMetaMap.find(grpId)) != grpMetaMap.end())
|
||||||
|
{
|
||||||
|
grpMeta = mit->second;
|
||||||
|
ok = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(grpCv.getAsInt32(RsGeneralDataService::GRP_META_STATUS, value))
|
||||||
|
{
|
||||||
|
key = RsGeneralDataService::GRP_META_STATUS;
|
||||||
|
currValue = grpMeta->mGroupStatus;
|
||||||
|
}
|
||||||
|
else if(grpCv.getAsInt32(RsGeneralDataService::GRP_META_SUBSCRIBE_FLAG, value))
|
||||||
|
{
|
||||||
|
key = RsGeneralDataService::GRP_META_SUBSCRIBE_FLAG;
|
||||||
|
currValue = grpMeta->mSubscribeFlags;
|
||||||
|
}else
|
||||||
|
{
|
||||||
|
if(grpMeta)
|
||||||
|
delete grpMeta;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
ok &= grpCv.getAsInt32(key+GXS_MASK, mask);
|
||||||
|
|
||||||
|
// remove mask entry so it doesn't affect
|
||||||
|
grpCv.removeKeyValue(key+GXS_MASK);
|
||||||
|
|
||||||
|
// apply mask to current value
|
||||||
|
value = (currValue & ~mask) | (value & mask);
|
||||||
|
|
||||||
|
grpCv.put(key, value);
|
||||||
|
|
||||||
|
if(grpMeta)
|
||||||
|
delete grpMeta;
|
||||||
|
|
||||||
|
return ok;
|
||||||
|
}
|
||||||
|
|
||||||
void RsGenExchange::publishMsgs()
|
void RsGenExchange::publishMsgs()
|
||||||
{
|
{
|
||||||
RsStackMutex stack(mGenMtx);
|
RsStackMutex stack(mGenMtx);
|
||||||
|
@ -1487,6 +1585,7 @@ void RsGenExchange::processRecvdMessages()
|
||||||
|
|
||||||
if(ok)
|
if(ok)
|
||||||
{
|
{
|
||||||
|
meta->mMsgStatus = GXS_SERV::GXS_MSG_STATUS_UNPROCESSED | GXS_SERV::GXS_MSG_STATUS_UNREAD;
|
||||||
msgs.insert(std::make_pair(msg, meta));
|
msgs.insert(std::make_pair(msg, meta));
|
||||||
msgIds[msg->grpId].push_back(msg->msgId);
|
msgIds[msg->grpId].push_back(msg->msgId);
|
||||||
}
|
}
|
||||||
|
@ -1540,6 +1639,7 @@ void RsGenExchange::processRecvdGroups()
|
||||||
|
|
||||||
if(ok)
|
if(ok)
|
||||||
{
|
{
|
||||||
|
meta->mGroupStatus = GXS_SERV::GXS_GRP_STATUS_UNPROCESSED | GXS_SERV::GXS_GRP_STATUS_UNREAD;
|
||||||
grps.insert(std::make_pair(grp, meta));
|
grps.insert(std::make_pair(grp, meta));
|
||||||
grpIds.push_back(grp->grpId);
|
grpIds.push_back(grp->grpId);
|
||||||
}
|
}
|
||||||
|
|
|
@ -430,6 +430,8 @@ protected:
|
||||||
* as it is called by the backend GXS system to \n
|
* as it is called by the backend GXS system to \n
|
||||||
* update client of changes which should \n
|
* update client of changes which should \n
|
||||||
* instigate client to retrieve new content from the system
|
* instigate client to retrieve new content from the system
|
||||||
|
* Note! For newly received message and groups, bit 0xf00 is set to
|
||||||
|
* GXS_SERV::GXS_MSG_STATUS_UNPROCESSED and GXS_SERV::GXS_MSG_STATUS_UNREAD
|
||||||
* @param changes the changes that have occured to data held by this service
|
* @param changes the changes that have occured to data held by this service
|
||||||
*/
|
*/
|
||||||
virtual void notifyChanges(std::vector<RsGxsNotify*>& changes) = 0;
|
virtual void notifyChanges(std::vector<RsGxsNotify*>& changes) = 0;
|
||||||
|
@ -459,6 +461,13 @@ private:
|
||||||
*/
|
*/
|
||||||
void processGrpMetaChanges();
|
void processGrpMetaChanges();
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* Convenience function for properly applying masks for status and subscribe flag
|
||||||
|
* of a group.
|
||||||
|
* @warning mask entry is removed from grpCv
|
||||||
|
*/
|
||||||
|
bool processGrpMask(const RsGxsGroupId& grpId, ContentValue& grpCv);
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* This completes the creation of an instance on RsNxsGrp
|
* This completes the creation of an instance on RsNxsGrp
|
||||||
* by assigning it a groupId and signature via SHA1 and EVP_sign respectively \n
|
* by assigning it a groupId and signature via SHA1 and EVP_sign respectively \n
|
||||||
|
|
|
@ -93,6 +93,14 @@ namespace GXS_SERV {
|
||||||
|
|
||||||
/** END GXS Msg status flags **/
|
/** END GXS Msg status flags **/
|
||||||
|
|
||||||
|
/** START GXS Grp status flags **/
|
||||||
|
|
||||||
|
static const uint32_t GXS_GRP_STATUS_UNPROCESSED = 0x000000100;
|
||||||
|
|
||||||
|
static const uint32_t GXS_GRP_STATUS_UNREAD = 0x00000200;
|
||||||
|
|
||||||
|
/** END GXS Grp status flags **/
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -46,6 +46,7 @@ public:
|
||||||
mPop = 0;
|
mPop = 0;
|
||||||
mMsgCount = 0;
|
mMsgCount = 0;
|
||||||
mLastPost = 0;
|
mLastPost = 0;
|
||||||
|
|
||||||
mGroupStatus = 0;
|
mGroupStatus = 0;
|
||||||
|
|
||||||
//mPublishTs = 0;
|
//mPublishTs = 0;
|
||||||
|
@ -86,6 +87,7 @@ public:
|
||||||
{
|
{
|
||||||
mPublishTs = 0;
|
mPublishTs = 0;
|
||||||
mMsgFlags = 0;
|
mMsgFlags = 0;
|
||||||
|
|
||||||
mMsgStatus = 0;
|
mMsgStatus = 0;
|
||||||
mChildTs = 0;
|
mChildTs = 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,6 +3,9 @@
|
||||||
#include "gxs/rsdataservice.h"
|
#include "gxs/rsdataservice.h"
|
||||||
#include "gxs/rsgxsflags.h"
|
#include "gxs/rsgxsflags.h"
|
||||||
|
|
||||||
|
#define TEST_FLAG 0x00004;
|
||||||
|
#define TEST_MASK 0x0000f;
|
||||||
|
|
||||||
GenExchangeTester::GenExchangeTester()
|
GenExchangeTester::GenExchangeTester()
|
||||||
: mGenTestMutex("genTest")
|
: mGenTestMutex("genTest")
|
||||||
{
|
{
|
||||||
|
@ -277,7 +280,6 @@ bool GenExchangeTester::testGrpMetaRetrieval()
|
||||||
|
|
||||||
opts.mReqType = GXS_REQUEST_TYPE_GROUP_META;
|
opts.mReqType = GXS_REQUEST_TYPE_GROUP_META;
|
||||||
|
|
||||||
std::list<RsGxsGroupId> grpIds;
|
|
||||||
mTokenService->requestGroupInfo(token, 0, opts);
|
mTokenService->requestGroupInfo(token, 0, opts);
|
||||||
|
|
||||||
pollForToken(token, opts);
|
pollForToken(token, opts);
|
||||||
|
@ -372,6 +374,8 @@ bool GenExchangeTester::testGrpMetaModRequest()
|
||||||
init(dgrp1);
|
init(dgrp1);
|
||||||
init(dgrp2);
|
init(dgrp2);
|
||||||
init(dgrp3);
|
init(dgrp3);
|
||||||
|
dgrp1->meta.mSubscribeFlags = 0;
|
||||||
|
dgrp1->meta.mGroupStatus = 0;
|
||||||
|
|
||||||
uint32_t token;
|
uint32_t token;
|
||||||
RsTokReqOptions opts;
|
RsTokReqOptions opts;
|
||||||
|
@ -397,8 +401,9 @@ bool GenExchangeTester::testGrpMetaModRequest()
|
||||||
bool ok = true;
|
bool ok = true;
|
||||||
|
|
||||||
std::string newServiceString;
|
std::string newServiceString;
|
||||||
uint32_t newGrpStatus = randNum();
|
uint32_t newGrpStatus = TEST_FLAG;
|
||||||
uint32_t newSubscribeGrpFlag = randNum();
|
uint32_t newSubscribeGrpFlag = TEST_FLAG;
|
||||||
|
uint32_t testMask = TEST_MASK;
|
||||||
randString(SHORT_STR, newServiceString);
|
randString(SHORT_STR, newServiceString);
|
||||||
|
|
||||||
// mod service flag for first grp
|
// mod service flag for first grp
|
||||||
|
@ -406,11 +411,11 @@ bool GenExchangeTester::testGrpMetaModRequest()
|
||||||
pollForToken(token, opts);
|
pollForToken(token, opts);
|
||||||
ok = mTestService->acknowledgeTokenGrp(token, grpId);
|
ok = mTestService->acknowledgeTokenGrp(token, grpId);
|
||||||
|
|
||||||
mTestService->setGroupStatusFlagTS(token, grpIds[0], newGrpStatus);
|
mTestService->setGroupStatusFlagTS(token, grpIds[0], newGrpStatus, testMask);
|
||||||
pollForToken(token, opts);
|
pollForToken(token, opts);
|
||||||
ok = mTestService->acknowledgeTokenGrp(token, grpId);
|
ok = mTestService->acknowledgeTokenGrp(token, grpId);
|
||||||
|
|
||||||
mTestService->setGroupSubscribeFlagTS(token, grpIds[0], newSubscribeGrpFlag);
|
mTestService->setGroupSubscribeFlagTS(token, grpIds[0], newSubscribeGrpFlag, testMask);
|
||||||
pollForToken(token, opts);
|
pollForToken(token, opts);
|
||||||
ok = mTestService->acknowledgeTokenGrp(token, grpId);
|
ok = mTestService->acknowledgeTokenGrp(token, grpId);
|
||||||
|
|
||||||
|
@ -432,10 +437,10 @@ bool GenExchangeTester::testGrpMetaModRequest()
|
||||||
if(meta.mServiceString != newServiceString)
|
if(meta.mServiceString != newServiceString)
|
||||||
ok = false;
|
ok = false;
|
||||||
|
|
||||||
if(meta.mSubscribeFlags != newSubscribeGrpFlag)
|
if(!(meta.mSubscribeFlags & newSubscribeGrpFlag))
|
||||||
ok = false;
|
ok = false;
|
||||||
|
|
||||||
if(meta.mGroupStatus != newGrpStatus)
|
if(!(meta.mGroupStatus & newGrpStatus))
|
||||||
ok = false;
|
ok = false;
|
||||||
|
|
||||||
|
|
||||||
|
@ -475,6 +480,7 @@ bool GenExchangeTester::testMsgMetaModRequest()
|
||||||
uint32_t token;
|
uint32_t token;
|
||||||
RsDummyMsg* msgOut = new RsDummyMsg();
|
RsDummyMsg* msgOut = new RsDummyMsg();
|
||||||
*msgOut = *msg;
|
*msgOut = *msg;
|
||||||
|
msg->meta.mMsgStatus = 0;
|
||||||
mTestService->publishDummyMsg(token, msg);
|
mTestService->publishDummyMsg(token, msg);
|
||||||
|
|
||||||
// poll will block until found
|
// poll will block until found
|
||||||
|
@ -499,9 +505,10 @@ bool GenExchangeTester::testMsgMetaModRequest()
|
||||||
|
|
||||||
mTestService->acknowledgeTokenMsg(token, msgId);
|
mTestService->acknowledgeTokenMsg(token, msgId);
|
||||||
|
|
||||||
uint32_t newStatus = 2;
|
uint32_t newStatus = TEST_FLAG;
|
||||||
|
uint32_t testMask = TEST_MASK;
|
||||||
// first modify service string
|
// first modify service string
|
||||||
mTestService->setMsgStatusFlagTS(token, msgId, newStatus);
|
mTestService->setMsgStatusFlagTS(token, msgId, newStatus, testMask);
|
||||||
pollForToken(token, opts);
|
pollForToken(token, opts);
|
||||||
|
|
||||||
mTestService->acknowledgeTokenMsg(token, msgId);
|
mTestService->acknowledgeTokenMsg(token, msgId);
|
||||||
|
@ -539,7 +546,7 @@ bool GenExchangeTester::testMsgMetaModRequest()
|
||||||
if(meta.mServiceString != newServiceString)
|
if(meta.mServiceString != newServiceString)
|
||||||
ok &= false;
|
ok &= false;
|
||||||
|
|
||||||
if(meta.mMsgStatus != newStatus)
|
if(!(meta.mMsgStatus & newStatus))
|
||||||
ok &= false;
|
ok &= false;
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -67,14 +67,14 @@ void GenExchangeTestService::setGroupServiceStringTS(uint32_t &token, const RsGx
|
||||||
RsGenExchange::setGroupServiceString(token, grpId, servString);
|
RsGenExchange::setGroupServiceString(token, grpId, servString);
|
||||||
}
|
}
|
||||||
|
|
||||||
void GenExchangeTestService::setGroupStatusFlagTS(uint32_t &token, const RsGxsGroupId &grpId, const uint32_t &status)
|
void GenExchangeTestService::setGroupStatusFlagTS(uint32_t &token, const RsGxsGroupId &grpId, const uint32_t &status, const uint32_t& mask)
|
||||||
{
|
{
|
||||||
RsGenExchange::setGroupStatusFlags(token, grpId, status, 0xff);
|
RsGenExchange::setGroupStatusFlags(token, grpId, status, mask);
|
||||||
}
|
}
|
||||||
|
|
||||||
void GenExchangeTestService::setGroupSubscribeFlagTS(uint32_t &token, const RsGxsGroupId &grpId, const uint32_t &status)
|
void GenExchangeTestService::setGroupSubscribeFlagTS(uint32_t &token, const RsGxsGroupId &grpId, const uint32_t &status, const uint32_t& mask)
|
||||||
{
|
{
|
||||||
RsGenExchange::setGroupSubscribeFlags(token, grpId, status, 0xff);
|
RsGenExchange::setGroupSubscribeFlags(token, grpId, status, mask);
|
||||||
}
|
}
|
||||||
|
|
||||||
void GenExchangeTestService::setMsgServiceStringTS(uint32_t &token, const RsGxsGrpMsgIdPair &msgId, const std::string &servString)
|
void GenExchangeTestService::setMsgServiceStringTS(uint32_t &token, const RsGxsGrpMsgIdPair &msgId, const std::string &servString)
|
||||||
|
@ -82,9 +82,9 @@ void GenExchangeTestService::setMsgServiceStringTS(uint32_t &token, const RsGxsG
|
||||||
RsGenExchange::setMsgServiceString(token, msgId, servString);
|
RsGenExchange::setMsgServiceString(token, msgId, servString);
|
||||||
}
|
}
|
||||||
|
|
||||||
void GenExchangeTestService::setMsgStatusFlagTS(uint32_t &token, const RsGxsGrpMsgIdPair &msgId, const uint32_t &status)
|
void GenExchangeTestService::setMsgStatusFlagTS(uint32_t &token, const RsGxsGrpMsgIdPair &msgId, const uint32_t &status, const uint32_t& mask)
|
||||||
{
|
{
|
||||||
RsGenExchange::setMsgStatusFlags(token, msgId, status, 0xff);
|
RsGenExchange::setMsgStatusFlags(token, msgId, status, mask);
|
||||||
}
|
}
|
||||||
|
|
||||||
void GenExchangeTestService::service_tick()
|
void GenExchangeTestService::service_tick()
|
||||||
|
|
|
@ -76,13 +76,13 @@ public:
|
||||||
bool getMsgRelatedDataTS(const uint32_t &token, GxsMsgRelatedDataMap& msgItems);
|
bool getMsgRelatedDataTS(const uint32_t &token, GxsMsgRelatedDataMap& msgItems);
|
||||||
|
|
||||||
|
|
||||||
void setGroupSubscribeFlagTS(uint32_t& token, const RsGxsGroupId& grpId, const uint32_t& status);
|
void setGroupSubscribeFlagTS(uint32_t& token, const RsGxsGroupId& grpId, const uint32_t& status, const uint32_t& mask);
|
||||||
|
|
||||||
void setGroupStatusFlagTS(uint32_t& token, const RsGxsGroupId& grpId, const uint32_t& status);
|
void setGroupStatusFlagTS(uint32_t& token, const RsGxsGroupId& grpId, const uint32_t& status, const uint32_t& mask);
|
||||||
|
|
||||||
void setGroupServiceStringTS(uint32_t& token, const RsGxsGroupId& grpId, const std::string& servString);
|
void setGroupServiceStringTS(uint32_t& token, const RsGxsGroupId& grpId, const std::string& servString);
|
||||||
|
|
||||||
void setMsgStatusFlagTS(uint32_t& token, const RsGxsGrpMsgIdPair& msgId, const uint32_t& status);
|
void setMsgStatusFlagTS(uint32_t& token, const RsGxsGrpMsgIdPair& msgId, const uint32_t& status, const uint32_t& mask);
|
||||||
|
|
||||||
void setMsgServiceStringTS(uint32_t& token, const RsGxsGrpMsgIdPair& msgId, const std::string& servString );
|
void setMsgServiceStringTS(uint32_t& token, const RsGxsGrpMsgIdPair& msgId, const std::string& servString );
|
||||||
|
|
||||||
|
|
|
@ -21,13 +21,13 @@ int main()
|
||||||
// CHECK(tester.testMsgIdRetrieval_OptOrigMsgId()); REPORT("tester.testRelatedMsgIdRetrieval_OrigMsgId()");
|
// CHECK(tester.testMsgIdRetrieval_OptOrigMsgId()); REPORT("tester.testRelatedMsgIdRetrieval_OrigMsgId()");
|
||||||
// CHECK(tester.testMsgIdRetrieval_OptLatest()); REPORT("tester.testRelatedMsgIdRetrieval_Latest()");
|
// CHECK(tester.testMsgIdRetrieval_OptLatest()); REPORT("tester.testRelatedMsgIdRetrieval_Latest()");
|
||||||
// CHECK(tester.testMsgMetaModRequest()); REPORT("tester.testMsgMetaModRequest()");
|
// CHECK(tester.testMsgMetaModRequest()); REPORT("tester.testMsgMetaModRequest()");
|
||||||
CHECK(tester.testMsgRelatedChildDataRetrieval()); REPORT("tester.testMsgRelatedChildDataRetrieval()");
|
//CHECK(tester.testMsgRelatedChildDataRetrieval()); REPORT("tester.testMsgRelatedChildDataRetrieval()");
|
||||||
// CHECK(tester.testMsgAllVersions()); REPORT("tester.testMsgAllVersions()");
|
// CHECK(tester.testMsgAllVersions()); REPORT("tester.testMsgAllVersions()");
|
||||||
|
|
||||||
// CHECK(tester.testGrpSubmissionRetrieval()); REPORT("tester.testGrpSubmissionRetrieval()");
|
// CHECK(tester.testGrpSubmissionRetrieval()); REPORT("tester.testGrpSubmissionRetrieval()");
|
||||||
// CHECK(tester.testGrpMetaRetrieval()); REPORT("tester.testGrpMetaRetrieval()");
|
// CHECK(tester.testGrpMetaRetrieval()); REPORT("tester.testGrpMetaRetrieval()");
|
||||||
// CHECK(tester.testGrpIdRetrieval()); REPORT("tester.testGrpIdRetrieval()");
|
// CHECK(tester.testGrpIdRetrieval()); REPORT("tester.testGrpIdRetrieval()");
|
||||||
// CHECK(tester.testGrpMetaModRequest()); REPORT("tester.testGrpMetaModRequest()");
|
CHECK(tester.testGrpMetaModRequest()); REPORT("tester.testGrpMetaModRequest()");
|
||||||
|
|
||||||
FINALREPORT("RsGenExchangeTest");
|
FINALREPORT("RsGenExchangeTest");
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue