mirror of
https://github.com/RetroShare/RetroShare.git
synced 2024-12-27 00:19:25 -05:00
fixed subscribe policy to GxsTrans groups as a function of last available post and group usage
This commit is contained in:
parent
dc605c02f1
commit
37edcc1e37
@ -20,7 +20,7 @@
|
||||
#include "gxstrans/p3gxstrans.h"
|
||||
#include "util/stacktrace.h"
|
||||
|
||||
#define DEBUG_GXSTRANS 1
|
||||
//#define DEBUG_GXSTRANS 1
|
||||
|
||||
typedef unsigned int uint;
|
||||
|
||||
@ -183,14 +183,15 @@ void p3GxsTrans::handleResponse(uint32_t token, uint32_t req_type)
|
||||
|
||||
const RsGroupMetaData& meta = grp->meta;
|
||||
bool subscribed = IS_GROUP_SUBSCRIBED(meta.mSubscribeFlags);
|
||||
bool old = olderThen( meta.mLastPost, UNUSED_GROUP_UNSUBSCRIBE_INTERVAL );
|
||||
bool old = meta.mLastPost > 0 && olderThen( meta.mLastPost, UNUSED_GROUP_UNSUBSCRIBE_INTERVAL );
|
||||
uint32_t token;
|
||||
|
||||
bool shouldSubscribe = false ;
|
||||
bool shouldUnSubscribe = false ;
|
||||
{
|
||||
RS_STACK_MUTEX(mDataMutex);
|
||||
bool shouldSubscribe = !subscribed && ( !old || meta.mGroupId == mPreferredGroupId );
|
||||
|
||||
bool shouldSubscribe = !subscribed && ((!old)|| meta.mGroupId == mPreferredGroupId );
|
||||
bool shouldUnSubscribe = subscribed && old && meta.mGroupId != mPreferredGroupId;
|
||||
}
|
||||
|
||||
|
@ -150,12 +150,12 @@ public:
|
||||
/// @see RsGenExchange::getServiceInfo()
|
||||
virtual RsServiceInfo getServiceInfo() { return RsServiceInfo( RS_SERVICE_TYPE_GXS_TRANS, "GXS Mails", 0, 1, 0, 1 ); }
|
||||
|
||||
static const uint32_t GXS_STORAGE_PERIOD = 0x127500; // 14 days.
|
||||
static const uint32_t GXS_SYNC_PERIOD = 0x127500;
|
||||
static const uint32_t GXS_STORAGE_PERIOD = 15*86400; // 15 days.
|
||||
static const uint32_t GXS_SYNC_PERIOD = 15*86400;
|
||||
private:
|
||||
/** Time interval of inactivity before a distribution group is unsubscribed.
|
||||
* Approximatively 3 months seems ok ATM. */
|
||||
const static int32_t UNUSED_GROUP_UNSUBSCRIBE_INTERVAL = 0x76A700;
|
||||
const static int32_t UNUSED_GROUP_UNSUBSCRIBE_INTERVAL = 16*86400; // 16 days
|
||||
|
||||
/**
|
||||
* This should be as little as possible as the size of the database can grow
|
||||
|
Loading…
Reference in New Issue
Block a user