diff --git a/libretroshare/src/gxs/rsgxsnetservice.cc b/libretroshare/src/gxs/rsgxsnetservice.cc index 3485d2863..877d437b4 100644 --- a/libretroshare/src/gxs/rsgxsnetservice.cc +++ b/libretroshare/src/gxs/rsgxsnetservice.cc @@ -45,7 +45,7 @@ RsGxsNetService::RsGxsNetService(uint16_t servType, RsGeneralDataService *gds, : p3Config(servType), p3ThreadedService(servType), mTransactionTimeOut(TRANSAC_TIMEOUT), mServType(servType), mDataStore(gds), mTransactionN(0), mObserver(nxsObs), mNxsMutex("RsGxsNetService"), mNetMgr(netMgr), mSYNC_PERIOD(SYNC_PERIOD), - mSyncTs(0), mReputations(reputations), mCircles(circles), mGrpAutoSync(grpAutoSync) + mSyncTs(0), mReputations(reputations), mCircles(circles), mGrpAutoSync(grpAutoSync), mGrpServerUpdateItem(NULL) { addSerialType(new RsNxsSerialiser(mServType)); @@ -1972,8 +1972,11 @@ void RsGxsNetService::handleRecvSyncGroup(RsNxsSyncGrp* item) std::string peer = item->PeerId(); // don't sync if you have no new updates for this peer + if(mGrpServerUpdateItem) + { if(item->updateTS >= mGrpServerUpdateItem->grpUpdateTS && item->updateTS != 0) return; + } std::map grp; mDataStore->retrieveGxsGrpMetaData(grp); diff --git a/libretroshare/src/serialiser/rsgxsupdateitems.cc b/libretroshare/src/serialiser/rsgxsupdateitems.cc index fdccdbeae..60f637f06 100644 --- a/libretroshare/src/serialiser/rsgxsupdateitems.cc +++ b/libretroshare/src/serialiser/rsgxsupdateitems.cc @@ -51,8 +51,35 @@ void RsGxsMsgUpdateItem::clear() std::ostream& RsGxsMsgUpdateItem::print(std::ostream& out, uint16_t indent) { + } + + +void RsGxsServerMsgUpdateItem::clear() +{ + msgUpdateTS = 0; + grpId.clear(); +} + +std::ostream& RsGxsServerMsgUpdateItem::print(std::ostream& out, uint16_t indent) +{ + +} + + +void RsGxsServerGrpUpdateItem::clear() +{ + grpUpdateTS = 0; +} + +std::ostream& RsGxsServerGrpUpdateItem::print(std::ostream& out, uint16_t indent) +{ + +} + + + uint32_t RsGxsUpdateSerialiser::size(RsItem* item) { RsGxsMsgUpdateItem* mui = NULL; diff --git a/libretroshare/src/serialiser/rsgxsupdateitems.h b/libretroshare/src/serialiser/rsgxsupdateitems.h index bb6e3f9bb..763c51516 100644 --- a/libretroshare/src/serialiser/rsgxsupdateitems.h +++ b/libretroshare/src/serialiser/rsgxsupdateitems.h @@ -61,7 +61,7 @@ public: RsGxsServerGrpUpdateItem(uint16_t servType) : RsItem(RS_PKT_VERSION_SERVICE, servType, RS_PKT_SUBTYPE_GXS_SERVER_GRP_UPDATE) {} - virtual ~RsGxsServerGrpUpdateItem(); + virtual ~RsGxsServerGrpUpdateItem() {} virtual void clear(); virtual std::ostream &print(std::ostream &out, uint16_t indent); @@ -74,7 +74,7 @@ class RsGxsMsgUpdateItem : public RsItem public: RsGxsMsgUpdateItem(uint16_t servType) : RsItem(RS_PKT_VERSION_SERVICE, servType, RS_PKT_SUBTYPE_GXS_MSG_UPDATE) {} - virtual ~RsGxsMsgUpdateItem(); + virtual ~RsGxsMsgUpdateItem() {} virtual void clear(); virtual std::ostream &print(std::ostream &out, uint16_t indent); @@ -89,7 +89,7 @@ public: RsGxsServerMsgUpdateItem(uint16_t servType) : RsItem(RS_PKT_VERSION_SERVICE, servType, RS_PKT_SUBTYPE_GXS_SERVER_MSG_UPDATE) {} - virtual ~RsGxsServerMsgUpdateItem(); + virtual ~RsGxsServerMsgUpdateItem() {} virtual void clear(); virtual std::ostream &print(std::ostream &out, uint16_t indent);