mirror of
https://github.com/RetroShare/RetroShare.git
synced 2025-01-15 09:27:09 -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 "gxstrans/p3gxstrans.h"
|
||||||
#include "util/stacktrace.h"
|
#include "util/stacktrace.h"
|
||||||
|
|
||||||
#define DEBUG_GXSTRANS 1
|
//#define DEBUG_GXSTRANS 1
|
||||||
|
|
||||||
typedef unsigned int uint;
|
typedef unsigned int uint;
|
||||||
|
|
||||||
@ -183,14 +183,15 @@ void p3GxsTrans::handleResponse(uint32_t token, uint32_t req_type)
|
|||||||
|
|
||||||
const RsGroupMetaData& meta = grp->meta;
|
const RsGroupMetaData& meta = grp->meta;
|
||||||
bool subscribed = IS_GROUP_SUBSCRIBED(meta.mSubscribeFlags);
|
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;
|
uint32_t token;
|
||||||
|
|
||||||
bool shouldSubscribe = false ;
|
bool shouldSubscribe = false ;
|
||||||
bool shouldUnSubscribe = false ;
|
bool shouldUnSubscribe = false ;
|
||||||
{
|
{
|
||||||
RS_STACK_MUTEX(mDataMutex);
|
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;
|
bool shouldUnSubscribe = subscribed && old && meta.mGroupId != mPreferredGroupId;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -150,12 +150,12 @@ public:
|
|||||||
/// @see RsGenExchange::getServiceInfo()
|
/// @see RsGenExchange::getServiceInfo()
|
||||||
virtual RsServiceInfo getServiceInfo() { return RsServiceInfo( RS_SERVICE_TYPE_GXS_TRANS, "GXS Mails", 0, 1, 0, 1 ); }
|
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_STORAGE_PERIOD = 15*86400; // 15 days.
|
||||||
static const uint32_t GXS_SYNC_PERIOD = 0x127500;
|
static const uint32_t GXS_SYNC_PERIOD = 15*86400;
|
||||||
private:
|
private:
|
||||||
/** Time interval of inactivity before a distribution group is unsubscribed.
|
/** Time interval of inactivity before a distribution group is unsubscribed.
|
||||||
* Approximatively 3 months seems ok ATM. */
|
* 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
|
* This should be as little as possible as the size of the database can grow
|
||||||
|
Loading…
Reference in New Issue
Block a user