mirror of
https://github.com/RetroShare/RetroShare.git
synced 2025-05-04 23:25:32 -04:00
Bugfixes galore!
* Split p3bitdht_peers.cc debugging in two. Hid Id Translation debug (that code is fine) * Added initialisation of p3bitdht peer data structure (using values from peernet). * Added BITDHT_QFLAGS_UPDATES flag. * Added Tick() interface to NetAssistConnect interface, tick it from p3NetMgr. * FIXED OLD BUG: netAssistFriend was not being called from p3LinkMgr::connectResult() this meant all peers where being searched for. git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-netupgrade@4423 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
parent
d6e2d959be
commit
f7ff55237e
6 changed files with 170 additions and 52 deletions
|
@ -659,8 +659,7 @@ bool p3LinkMgr::connectAttempt(const std::string &id, struct sockaddr_in &addr,
|
|||
|
||||
bool p3LinkMgr::connectResult(const std::string &id, bool success, uint32_t flags, struct sockaddr_in remote_peer_address)
|
||||
{
|
||||
bool should_netAssistFriend_false = false ;
|
||||
bool should_netAssistFriend_true = false ;
|
||||
bool doDhtAssist = false ;
|
||||
bool updatePeerAddr = false;
|
||||
{
|
||||
RsStackMutex stack(mLinkMtx); /****** STACK LOCK MUTEX *******/
|
||||
|
@ -687,7 +686,7 @@ bool p3LinkMgr::connectResult(const std::string &id, bool success, uint32_t flag
|
|||
if (it == mFriendList.end())
|
||||
{
|
||||
#ifdef LINKMGR_DEBUG
|
||||
std::cerr << "p3LinkMgr::connectResult() Failed, missing Friend " << " id: " << id << std::endl;
|
||||
std::cerr << "p3LinkMgr::connectResult() ERROR, missing Friend " << " id: " << id << std::endl;
|
||||
#endif
|
||||
return false;
|
||||
}
|
||||
|
@ -738,9 +737,7 @@ bool p3LinkMgr::connectResult(const std::string &id, bool success, uint32_t flag
|
|||
/* remove other attempts */
|
||||
it->second.inConnAttempt = false;
|
||||
it->second.connAddrs.clear();
|
||||
should_netAssistFriend_false = true ;
|
||||
mStatusChanged = true;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -759,8 +756,6 @@ bool p3LinkMgr::connectResult(const std::string &id, bool success, uint32_t flag
|
|||
mStatusChanged = true;
|
||||
|
||||
it->second.lastcontact = time(NULL); /* time of disconnect */
|
||||
|
||||
should_netAssistFriend_true = true ;
|
||||
}
|
||||
|
||||
if (it->second.connAddrs.size() >= 1)
|
||||
|
@ -768,6 +763,11 @@ bool p3LinkMgr::connectResult(const std::string &id, bool success, uint32_t flag
|
|||
it->second.actions |= RS_PEER_CONNECT_REQ;
|
||||
mStatusChanged = true;
|
||||
}
|
||||
|
||||
if (it->second.dhtVisible)
|
||||
{
|
||||
doDhtAssist = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -778,15 +778,43 @@ bool p3LinkMgr::connectResult(const std::string &id, bool success, uint32_t flag
|
|||
raddr.mSeenTime = time(NULL);
|
||||
raddr.mSrc = 0;
|
||||
|
||||
#ifdef LINKMGR_DEBUG
|
||||
std::cerr << "p3LinkMgr::connectResult() SUCCESS and we initiated connection... Updating Address";
|
||||
std::cerr << std::endl;
|
||||
#endif
|
||||
mPeerMgr->updateCurrentAddress(id, raddr);
|
||||
}
|
||||
|
||||
if(should_netAssistFriend_true)
|
||||
mNetMgr->netAssistFriend(id,true) ;
|
||||
if(should_netAssistFriend_false)
|
||||
mNetMgr->netAssistFriend(id,false) ;
|
||||
|
||||
return true;
|
||||
|
||||
if (success)
|
||||
{
|
||||
#ifdef LINKMGR_DEBUG
|
||||
std::cerr << "p3LinkMgr::connectResult() SUCCESS switching off DhtAssist for friend: " << id;
|
||||
std::cerr << std::endl;
|
||||
#endif
|
||||
/* always switch it off now */
|
||||
mNetMgr->netAssistFriend(id,false) ;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (doDhtAssist)
|
||||
{
|
||||
#ifdef LINKMGR_DEBUG
|
||||
std::cerr << "p3LinkMgr::connectResult() FAIL, Enabling DhtAssist for: " << id;
|
||||
std::cerr << std::endl;
|
||||
#endif
|
||||
mNetMgr->netAssistFriend(id,true) ;
|
||||
}
|
||||
else
|
||||
{
|
||||
#ifdef LINKMGR_DEBUG
|
||||
std::cerr << "p3LinkMgr::connectResult() FAIL, No DhtAssist, as No DHT visibility for: " << id;
|
||||
std::cerr << std::endl;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
/******************************** Feedback ...... *********************************
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue