mirror of
https://github.com/RetroShare/RetroShare.git
synced 2024-10-01 02:35:48 -04:00
discovery: don't remove new added locations too soon
was: removed after 10 min. or less - when no connection is established now: removed after 1 day - when no connection is established
This commit is contained in:
parent
efadc7d2c6
commit
841299d077
@ -64,8 +64,6 @@ const uint32_t MIN_TIME_BETWEEN_NET_RESET = 5;
|
|||||||
|
|
||||||
const uint32_t PEER_IP_CONNECT_STATE_MAX_LIST_SIZE = 4;
|
const uint32_t PEER_IP_CONNECT_STATE_MAX_LIST_SIZE = 4;
|
||||||
|
|
||||||
#define VERY_OLD_PEER (90 * 24 * 3600) // 90 days.
|
|
||||||
|
|
||||||
/****
|
/****
|
||||||
* #define PEER_DEBUG 1
|
* #define PEER_DEBUG 1
|
||||||
***/
|
***/
|
||||||
@ -2751,7 +2749,7 @@ bool p3PeerMgrIMPL::removeUnusedLocations()
|
|||||||
std::map<RsPeerId, peerState>::iterator it;
|
std::map<RsPeerId, peerState>::iterator it;
|
||||||
for(it = mFriendList.begin(); it != mFriendList.end(); ++it)
|
for(it = mFriendList.begin(); it != mFriendList.end(); ++it)
|
||||||
{
|
{
|
||||||
if (now - it->second.lastcontact > VERY_OLD_PEER)
|
if (now - it->second.lastcontact > RS_PEER_OLD_PEER)
|
||||||
{
|
{
|
||||||
toRemove.push_back(it->first);
|
toRemove.push_back(it->first);
|
||||||
|
|
||||||
|
@ -65,6 +65,9 @@ const uint32_t RS_NET_FLAGS_EXTERNAL_ADDR = 0x0008;
|
|||||||
const uint32_t RS_NET_FLAGS_STABLE_UDP = 0x0010;
|
const uint32_t RS_NET_FLAGS_STABLE_UDP = 0x0010;
|
||||||
const uint32_t RS_NET_FLAGS_TRUSTS_ME = 0x0020;
|
const uint32_t RS_NET_FLAGS_TRUSTS_ME = 0x0020;
|
||||||
|
|
||||||
|
/* remove locations offline since 90 days */
|
||||||
|
const time_t RS_PEER_OLD_PEER = (90 * 24 * 3600);
|
||||||
|
|
||||||
class peerState
|
class peerState
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
@ -24,6 +24,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "services/p3discovery2.h"
|
#include "services/p3discovery2.h"
|
||||||
|
#include "pqi/p3peermgr.h"
|
||||||
#include "util/rsversioninfo.h"
|
#include "util/rsversioninfo.h"
|
||||||
|
|
||||||
#include "retroshare/rsiface.h"
|
#include "retroshare/rsiface.h"
|
||||||
@ -930,7 +931,10 @@ void p3discovery2::processContactInfo(const SSLID &fromId, const RsDiscContactIt
|
|||||||
// We pass RS_NODE_PERM_ALL because the PGP id is already a friend, so we should keep the existing
|
// We pass RS_NODE_PERM_ALL because the PGP id is already a friend, so we should keep the existing
|
||||||
// permission flags. Therefore the mask needs to be 0xffff.
|
// permission flags. Therefore the mask needs to be 0xffff.
|
||||||
|
|
||||||
mPeerMgr->addFriend(item->sslId, item->pgpId, item->netMode, RS_VS_DISC_OFF, RS_VS_DHT_FULL,(time_t)0,RS_NODE_PERM_ALL);
|
// set last seen to RS_PEER_OLD_PEER minus 1 day so that the DHT has a fair chance to establish a connection
|
||||||
|
// before the location gets automatically removed again
|
||||||
|
|
||||||
|
mPeerMgr->addFriend(item->sslId, item->pgpId, item->netMode, RS_VS_DISC_OFF, RS_VS_DHT_FULL, time(NULL) - RS_PEER_OLD_PEER + (24 * 3600), RS_NODE_PERM_ALL);
|
||||||
updatePeerAddresses(item);
|
updatePeerAddresses(item);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user