mirror of
https://github.com/RetroShare/RetroShare.git
synced 2024-12-27 08:29:26 -05:00
* #defined most of the Debugging info out.
* increased bdconnection timeout. git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4468 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
parent
b61b590f79
commit
e7049cc483
@ -40,7 +40,6 @@
|
|||||||
* #define DEBUG_CONNECTION_DELAY 1
|
* #define DEBUG_CONNECTION_DELAY 1
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define DEBUG_NODE_CONNECTION 1
|
|
||||||
#define DEBUG_CONNECTION_DELAY 1
|
#define DEBUG_CONNECTION_DELAY 1
|
||||||
|
|
||||||
|
|
||||||
@ -89,10 +88,12 @@ void bdConnectManager::setConnectionOptions(uint32_t allowedModes, uint32_t flag
|
|||||||
|
|
||||||
void bdConnectManager::shutdownConnections()
|
void bdConnectManager::shutdownConnections()
|
||||||
{
|
{
|
||||||
|
#ifdef DEBUG_NODE_CONNECTION
|
||||||
std::cerr << "bdConnectManager::shutdownConnections() Brutal Shutdown of the following connections: ";
|
std::cerr << "bdConnectManager::shutdownConnections() Brutal Shutdown of the following connections: ";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
|
||||||
printConnections();
|
printConnections();
|
||||||
|
#endif
|
||||||
|
|
||||||
mConnectionRequests.clear();
|
mConnectionRequests.clear();
|
||||||
mConnections.clear();
|
mConnections.clear();
|
||||||
@ -232,8 +233,10 @@ int bdConnectManager::killConnectionRequest(struct sockaddr_in *laddr, bdNodeId
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef DEBUG_NODE_CONNECTION
|
||||||
std::cerr << "bdConnectManager::killConnectionRequest() Flagging Connection Request as DONE";
|
std::cerr << "bdConnectManager::killConnectionRequest() Flagging Connection Request as DONE";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
|
|
||||||
time_t now = time(NULL);
|
time_t now = time(NULL);
|
||||||
it->second.mState = BITDHT_CONNREQUEST_DONE;
|
it->second.mState = BITDHT_CONNREQUEST_DONE;
|
||||||
@ -268,8 +271,10 @@ int bdConnectManager::requestConnection_direct(struct sockaddr_in *laddr, bdNode
|
|||||||
|
|
||||||
if (checkExistingConnectionAttempt(target))
|
if (checkExistingConnectionAttempt(target))
|
||||||
{
|
{
|
||||||
|
#ifdef DEBUG_NODE_CONNECTION
|
||||||
std::cerr << "bdConnectManager::requestConnection_direct() Existing ConnectionRequest... NOOP";
|
std::cerr << "bdConnectManager::requestConnection_direct() Existing ConnectionRequest... NOOP";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -334,8 +339,10 @@ int bdConnectManager::requestConnection_proxy(struct sockaddr_in *laddr, bdNodeI
|
|||||||
|
|
||||||
if (checkExistingConnectionAttempt(target))
|
if (checkExistingConnectionAttempt(target))
|
||||||
{
|
{
|
||||||
|
#ifdef DEBUG_NODE_CONNECTION
|
||||||
std::cerr << "bdConnectManager::requestConnection_proxy() Existing ConnectionRequest... NOOP";
|
std::cerr << "bdConnectManager::requestConnection_proxy() Existing ConnectionRequest... NOOP";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -379,9 +386,11 @@ int bdConnectManager::requestConnection_proxy(struct sockaddr_in *laddr, bdNodeI
|
|||||||
|
|
||||||
mPub->send_ping(&(*pit));
|
mPub->send_ping(&(*pit));
|
||||||
|
|
||||||
|
#ifdef DEBUG_NODE_CONNECTION
|
||||||
std::cerr << "bdConnectManager::requestConnection_proxy() Pinging Potential Proxy";
|
std::cerr << "bdConnectManager::requestConnection_proxy() Pinging Potential Proxy";
|
||||||
mFns->bdPrintId(std::cerr, &(*pit));
|
mFns->bdPrintId(std::cerr, &(*pit));
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -413,9 +422,11 @@ int bdConnectManager::requestConnection_proxy(struct sockaddr_in *laddr, bdNodeI
|
|||||||
std::multimap<bdMetric, bdId>::iterator it;
|
std::multimap<bdMetric, bdId>::iterator it;
|
||||||
for(it = nearest.begin(); it != nearest.end(); it++)
|
for(it = nearest.begin(); it != nearest.end(); it++)
|
||||||
{
|
{
|
||||||
|
#ifdef DEBUG_NODE_CONNECTION
|
||||||
std::cerr << "bdConnectManager::requestConnection_proxy() is Entry it connected to Friend? : ";
|
std::cerr << "bdConnectManager::requestConnection_proxy() is Entry it connected to Friend? : ";
|
||||||
mFns->bdPrintId(std::cerr, &(it->second));
|
mFns->bdPrintId(std::cerr, &(it->second));
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
|
|
||||||
//bdNodeId midId;
|
//bdNodeId midId;
|
||||||
//mFns->bdRandomMidId(target, &(it->second.id), &midId);
|
//mFns->bdRandomMidId(target, &(it->second.id), &midId);
|
||||||
@ -434,8 +445,10 @@ int bdConnectManager::requestConnection_proxy(struct sockaddr_in *laddr, bdNodeI
|
|||||||
|
|
||||||
if (connreq.mGoodProxies.size() < MIN_START_PROXY_COUNT)
|
if (connreq.mGoodProxies.size() < MIN_START_PROXY_COUNT)
|
||||||
{
|
{
|
||||||
|
#ifdef DEBUG_NODE_CONNECTION
|
||||||
std::cerr << "bdConnectManager::requestConnection_proxy() WARNING initial proxyList.size() == SMALL PAUSING";
|
std::cerr << "bdConnectManager::requestConnection_proxy() WARNING initial proxyList.size() == SMALL PAUSING";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
|
|
||||||
time_t now = time(NULL);
|
time_t now = time(NULL);
|
||||||
/* PAUSE the connection Attempt, so we can wait for responses */
|
/* PAUSE the connection Attempt, so we can wait for responses */
|
||||||
@ -607,18 +620,22 @@ void bdConnectManager::iterateConnectionRequests()
|
|||||||
/* check status of connection */
|
/* check status of connection */
|
||||||
if (it->second.mState == BITDHT_CONNREQUEST_READY)
|
if (it->second.mState == BITDHT_CONNREQUEST_READY)
|
||||||
{
|
{
|
||||||
|
#ifdef DEBUG_NODE_CONNECTION
|
||||||
std::cerr << "bdConnectManager::iterateConnectionAttempt() Request is READY, starting";
|
std::cerr << "bdConnectManager::iterateConnectionAttempt() Request is READY, starting";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
|
|
||||||
/* kick off the connection if possible */
|
/* kick off the connection if possible */
|
||||||
// goes to BITDHT_CONNREQUEST_INPROGRESS;
|
// goes to BITDHT_CONNREQUEST_INPROGRESS;
|
||||||
if (!startConnectionAttempt(&(it->second)))
|
if (!startConnectionAttempt(&(it->second)))
|
||||||
{
|
{
|
||||||
|
#ifdef DEBUG_NODE_CONNECTION
|
||||||
// FAILS if proxy is bad / nonexistent
|
// FAILS if proxy is bad / nonexistent
|
||||||
std::cerr << "bdConnectManager::iterateConnectionAttempt() Failed startup => KILLED";
|
std::cerr << "bdConnectManager::iterateConnectionAttempt() Failed startup => KILLED";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
std::cerr << it->second;
|
std::cerr << it->second;
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
|
|
||||||
it->second.mErrCode = BITDHT_CONNECT_ERROR_SOURCE_START |
|
it->second.mErrCode = BITDHT_CONNECT_ERROR_SOURCE_START |
|
||||||
BITDHT_CONNECT_ERROR_OUTOFPROXY;
|
BITDHT_CONNECT_ERROR_OUTOFPROXY;
|
||||||
@ -632,14 +649,18 @@ void bdConnectManager::iterateConnectionRequests()
|
|||||||
/* forced pause, with period specified at PAUSE point */
|
/* forced pause, with period specified at PAUSE point */
|
||||||
if (now > it->second.mPauseTS)
|
if (now > it->second.mPauseTS)
|
||||||
{
|
{
|
||||||
|
#ifdef DEBUG_NODE_CONNECTION
|
||||||
std::cerr << "bdConnectManager::iterateConnectionAttempt() PAUSED has reached timout -> READY";
|
std::cerr << "bdConnectManager::iterateConnectionAttempt() PAUSED has reached timout -> READY";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
|
|
||||||
/* if we have run out of proxies, or recycled too many times. kill it */
|
/* if we have run out of proxies, or recycled too many times. kill it */
|
||||||
if (it->second.mGoodProxies.size() == 0)
|
if (it->second.mGoodProxies.size() == 0)
|
||||||
{
|
{
|
||||||
|
#ifdef DEBUG_NODE_CONNECTION
|
||||||
std::cerr << "bdConnectManager::iterateConnectionAttempt() no more proxies => DONE";
|
std::cerr << "bdConnectManager::iterateConnectionAttempt() no more proxies => DONE";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
|
|
||||||
it->second.mErrCode = BITDHT_CONNECT_ERROR_SOURCE_START |
|
it->second.mErrCode = BITDHT_CONNECT_ERROR_SOURCE_START |
|
||||||
BITDHT_CONNECT_ERROR_OUTOFPROXY;
|
BITDHT_CONNECT_ERROR_OUTOFPROXY;
|
||||||
@ -648,8 +669,10 @@ void bdConnectManager::iterateConnectionRequests()
|
|||||||
}
|
}
|
||||||
else if (it->second.mRecycled > it->second.mGoodProxies.size() * MAX_NUM_RETRIES)
|
else if (it->second.mRecycled > it->second.mGoodProxies.size() * MAX_NUM_RETRIES)
|
||||||
{
|
{
|
||||||
|
#ifdef DEBUG_NODE_CONNECTION
|
||||||
std::cerr << "bdConnectManager::iterateConnectionAttempt() to many retries => DONE";
|
std::cerr << "bdConnectManager::iterateConnectionAttempt() to many retries => DONE";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
|
|
||||||
it->second.mErrCode = BITDHT_CONNECT_ERROR_SOURCE_START |
|
it->second.mErrCode = BITDHT_CONNECT_ERROR_SOURCE_START |
|
||||||
BITDHT_CONNECT_ERROR_TOOMANYRETRY;
|
BITDHT_CONNECT_ERROR_TOOMANYRETRY;
|
||||||
@ -669,10 +692,12 @@ void bdConnectManager::iterateConnectionRequests()
|
|||||||
/* single connection attempt */
|
/* single connection attempt */
|
||||||
if (now - it->second.mStateTS > BITDHT_CONNREQUEST_TIMEOUT_INPROGRESS)
|
if (now - it->second.mStateTS > BITDHT_CONNREQUEST_TIMEOUT_INPROGRESS)
|
||||||
{
|
{
|
||||||
|
#ifdef DEBUG_NODE_CONNECTION
|
||||||
std::cerr << "bdConnectManager::iterateConnectionAttempt() INPROGRESS has reached timout -> READY";
|
std::cerr << "bdConnectManager::iterateConnectionAttempt() INPROGRESS has reached timout -> READY";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
std::cerr << it->second;
|
std::cerr << it->second;
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
|
|
||||||
/* timeout and restart */
|
/* timeout and restart */
|
||||||
it->second.mState = BITDHT_CONNREQUEST_PAUSED;
|
it->second.mState = BITDHT_CONNREQUEST_PAUSED;
|
||||||
@ -699,10 +724,12 @@ void bdConnectManager::iterateConnectionRequests()
|
|||||||
}
|
}
|
||||||
else if (it->second.mState == BITDHT_CONNREQUEST_DONE)
|
else if (it->second.mState == BITDHT_CONNREQUEST_DONE)
|
||||||
{
|
{
|
||||||
|
#ifdef DEBUG_NODE_CONNECTION
|
||||||
std::cerr << "bdConnectManager::iterateConnectionAttempt() DONE -> erase";
|
std::cerr << "bdConnectManager::iterateConnectionAttempt() DONE -> erase";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
std::cerr << it->second;
|
std::cerr << it->second;
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
|
|
||||||
erase = true;
|
erase = true;
|
||||||
|
|
||||||
@ -711,10 +738,12 @@ void bdConnectManager::iterateConnectionRequests()
|
|||||||
// Cleanup
|
// Cleanup
|
||||||
if (now - it->second.mStateTS > BITDHT_CONNREQUEST_MAX_AGE)
|
if (now - it->second.mStateTS > BITDHT_CONNREQUEST_MAX_AGE)
|
||||||
{
|
{
|
||||||
|
#ifdef DEBUG_NODE_CONNECTION
|
||||||
std::cerr << "bdConnectManager::iterateConnectionAttempt() Cleaning Old ConnReq: ";
|
std::cerr << "bdConnectManager::iterateConnectionAttempt() Cleaning Old ConnReq: ";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
std::cerr << it->second;
|
std::cerr << it->second;
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
if (erase)
|
if (erase)
|
||||||
@ -749,15 +778,19 @@ void bdConnectManager::iterateConnectionRequests()
|
|||||||
|
|
||||||
int bdConnectManager::startConnectionAttempt(bdConnectionRequest *req)
|
int bdConnectManager::startConnectionAttempt(bdConnectionRequest *req)
|
||||||
{
|
{
|
||||||
|
#ifdef DEBUG_NODE_CONNECTION
|
||||||
std::cerr << "bdConnectManager::startConnectionAttempt() ConnReq: ";
|
std::cerr << "bdConnectManager::startConnectionAttempt() ConnReq: ";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
std::cerr << *req;
|
std::cerr << *req;
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
|
|
||||||
if (req->mGoodProxies.size() < 1)
|
if (req->mGoodProxies.size() < 1)
|
||||||
{
|
{
|
||||||
|
#ifdef DEBUG_NODE_CONNECTION
|
||||||
std::cerr << "bdConnectManager::startConnectionAttempt() No Potential Proxies... delaying attempt";
|
std::cerr << "bdConnectManager::startConnectionAttempt() No Potential Proxies... delaying attempt";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -776,9 +809,11 @@ int bdConnectManager::startConnectionAttempt(bdConnectionRequest *req)
|
|||||||
{
|
{
|
||||||
absDelay = delay;
|
absDelay = delay;
|
||||||
}
|
}
|
||||||
|
#ifdef DEBUG_NODE_CONNECTION
|
||||||
std::cerr << "bdConnectManager::startConnectionAttempt() TimeSinceReq: " << timeElapsed << " Original Delay: " << req->mDelay;
|
std::cerr << "bdConnectManager::startConnectionAttempt() TimeSinceReq: " << timeElapsed << " Original Delay: " << req->mDelay;
|
||||||
std::cerr << " AbsDelay: " << absDelay;
|
std::cerr << " AbsDelay: " << absDelay;
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
|
|
||||||
destConnAddr.id = req->mTarget;
|
destConnAddr.id = req->mTarget;
|
||||||
bdsockaddr_clear(&(destConnAddr.addr));
|
bdsockaddr_clear(&(destConnAddr.addr));
|
||||||
@ -845,6 +880,7 @@ void bdConnectManager::callbackConnectRequest(bdId *srcId, bdId *proxyId, bdId *
|
|||||||
{
|
{
|
||||||
/* Check if we are the originator of the Connect Request. If so, then we do stuff to the CR.
|
/* Check if we are the originator of the Connect Request. If so, then we do stuff to the CR.
|
||||||
*/
|
*/
|
||||||
|
#ifdef DEBUG_NODE_CONNECTION
|
||||||
std::cerr << "bdConnectManager::callbackConnectRequest() ";
|
std::cerr << "bdConnectManager::callbackConnectRequest() ";
|
||||||
std::cerr << "mode: " << mode;
|
std::cerr << "mode: " << mode;
|
||||||
std::cerr << " point: " << point;
|
std::cerr << " point: " << point;
|
||||||
@ -862,6 +898,7 @@ void bdConnectManager::callbackConnectRequest(bdId *srcId, bdId *proxyId, bdId *
|
|||||||
std::cerr << "\tdestId: ";
|
std::cerr << "\tdestId: ";
|
||||||
bdStdPrintId(std::cerr, destId);
|
bdStdPrintId(std::cerr, destId);
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
if (point != BD_PROXY_CONNECTION_START_POINT)
|
if (point != BD_PROXY_CONNECTION_START_POINT)
|
||||||
@ -869,8 +906,10 @@ void bdConnectManager::callbackConnectRequest(bdId *srcId, bdId *proxyId, bdId *
|
|||||||
/* ONLY ONE CASE THAT GOES HERE -> for sanity testing */
|
/* ONLY ONE CASE THAT GOES HERE -> for sanity testing */
|
||||||
if ((cbtype == BITDHT_CONNECT_CB_START) && (point == BD_PROXY_CONNECTION_END_POINT))
|
if ((cbtype == BITDHT_CONNECT_CB_START) && (point == BD_PROXY_CONNECTION_END_POINT))
|
||||||
{
|
{
|
||||||
|
#ifdef DEBUG_NODE_CONNECTION
|
||||||
std::cerr << "bdConnectManager::callbackConnectRequest() END & START checking ConnectRequest state";
|
std::cerr << "bdConnectManager::callbackConnectRequest() END & START checking ConnectRequest state";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
|
|
||||||
// Reverse lookup (srcId).
|
// Reverse lookup (srcId).
|
||||||
std::map<bdNodeId, bdConnectionRequest>::iterator it = mConnectionRequests.find(srcId->id);
|
std::map<bdNodeId, bdConnectionRequest>::iterator it = mConnectionRequests.find(srcId->id);
|
||||||
@ -888,8 +927,10 @@ void bdConnectManager::callbackConnectRequest(bdId *srcId, bdId *proxyId, bdId *
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef DEBUG_NODE_CONNECTION
|
||||||
std::cerr << "bdConnectManager::callbackConnectRequest() WARNING Switching ALT CR to EXTCONNECT Mode";
|
std::cerr << "bdConnectManager::callbackConnectRequest() WARNING Switching ALT CR to EXTCONNECT Mode";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
|
|
||||||
time_t now = time(NULL);
|
time_t now = time(NULL);
|
||||||
it->second.mState = BITDHT_CONNREQUEST_EXTCONNECT;
|
it->second.mState = BITDHT_CONNREQUEST_EXTCONNECT;
|
||||||
@ -898,8 +939,10 @@ void bdConnectManager::callbackConnectRequest(bdId *srcId, bdId *proxyId, bdId *
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
#ifdef DEBUG_NODE_CONNECTION
|
||||||
std::cerr << "bdConnectManager::callbackConnectRequest() No ALT CR - Good";
|
std::cerr << "bdConnectManager::callbackConnectRequest() No ALT CR - Good";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
|
|
||||||
}
|
}
|
||||||
callbackConnect(srcId, proxyId, destId, mode, point, param, cbtype, errcode);
|
callbackConnect(srcId, proxyId, destId, mode, point, param, cbtype, errcode);
|
||||||
@ -947,9 +990,11 @@ void bdConnectManager::callbackConnectRequest(bdId *srcId, bdId *proxyId, bdId *
|
|||||||
|
|
||||||
case BITDHT_CONNECT_CB_FAILED:
|
case BITDHT_CONNECT_CB_FAILED:
|
||||||
{
|
{
|
||||||
|
#ifdef DEBUG_NODE_CONNECTION
|
||||||
std::cerr << "bdConnectManager::callbackConnectRequest() ";
|
std::cerr << "bdConnectManager::callbackConnectRequest() ";
|
||||||
std::cerr << "Connection FAILED.... determining if fatal/recycle/next";
|
std::cerr << "Connection FAILED.... determining if fatal/recycle/next";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
|
|
||||||
// one more big switch statement, to decide: fatal/delay/or next
|
// one more big switch statement, to decide: fatal/delay/or next
|
||||||
// default is move to next proxy/peer.
|
// default is move to next proxy/peer.
|
||||||
@ -982,9 +1027,11 @@ void bdConnectManager::callbackConnectRequest(bdId *srcId, bdId *proxyId, bdId *
|
|||||||
// fatal.
|
// fatal.
|
||||||
fatal = true;
|
fatal = true;
|
||||||
|
|
||||||
|
#ifdef DEBUG_NODE_CONNECTION
|
||||||
std::cerr << "bdConnectManager::callbackConnectRequest() ";
|
std::cerr << "bdConnectManager::callbackConnectRequest() ";
|
||||||
std::cerr << "END says UNREACHABLE. FATAL ;(";
|
std::cerr << "END says UNREACHABLE. FATAL ;(";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -1002,16 +1049,20 @@ void bdConnectManager::callbackConnectRequest(bdId *srcId, bdId *proxyId, bdId *
|
|||||||
// fatal.
|
// fatal.
|
||||||
fatal = true;
|
fatal = true;
|
||||||
|
|
||||||
|
#ifdef DEBUG_NODE_CONNECTION
|
||||||
std::cerr << "bdConnectManager::callbackConnectRequest() ";
|
std::cerr << "bdConnectManager::callbackConnectRequest() ";
|
||||||
std::cerr << "END says AUTH_DENIED, fatal";
|
std::cerr << "END says AUTH_DENIED, fatal";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
else if (errsrc == BITDHT_CONNECT_ERROR_SOURCE_MID)
|
else if (errsrc == BITDHT_CONNECT_ERROR_SOURCE_MID)
|
||||||
{
|
{
|
||||||
// next. (unlikely).
|
// next. (unlikely).
|
||||||
|
#ifdef DEBUG_NODE_CONNECTION
|
||||||
std::cerr << "bdConnectManager::callbackConnectRequest() ";
|
std::cerr << "bdConnectManager::callbackConnectRequest() ";
|
||||||
std::cerr << "WARNING MID says AUTH_DENIED";
|
std::cerr << "WARNING MID says AUTH_DENIED";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -1029,16 +1080,20 @@ void bdConnectManager::callbackConnectRequest(bdId *srcId, bdId *proxyId, bdId *
|
|||||||
// fatal.
|
// fatal.
|
||||||
fatal = true;
|
fatal = true;
|
||||||
|
|
||||||
|
#ifdef DEBUG_NODE_CONNECTION
|
||||||
std::cerr << "bdConnectManager::callbackConnectRequest() ";
|
std::cerr << "bdConnectManager::callbackConnectRequest() ";
|
||||||
std::cerr << "END says UNSUPPORTED, fatal";
|
std::cerr << "END says UNSUPPORTED, fatal";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
else if (errsrc == BITDHT_CONNECT_ERROR_SOURCE_MID)
|
else if (errsrc == BITDHT_CONNECT_ERROR_SOURCE_MID)
|
||||||
{
|
{
|
||||||
// next.
|
// next.
|
||||||
|
#ifdef DEBUG_NODE_CONNECTION
|
||||||
std::cerr << "bdConnectManager::callbackConnectRequest() ";
|
std::cerr << "bdConnectManager::callbackConnectRequest() ";
|
||||||
std::cerr << "MID says UNSUPPORTED";
|
std::cerr << "MID says UNSUPPORTED";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -1060,9 +1115,11 @@ void bdConnectManager::callbackConnectRequest(bdId *srcId, bdId *proxyId, bdId *
|
|||||||
fatal = true;
|
fatal = true;
|
||||||
//recycle = true;
|
//recycle = true;
|
||||||
|
|
||||||
|
#ifdef DEBUG_NODE_CONNECTION
|
||||||
std::cerr << "bdConnectManager::callbackConnectRequest() ";
|
std::cerr << "bdConnectManager::callbackConnectRequest() ";
|
||||||
std::cerr << "END says TEMPUNAVAIL, fatal (retried at higher level)";
|
std::cerr << "END says TEMPUNAVAIL, fatal (retried at higher level)";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -1076,9 +1133,11 @@ void bdConnectManager::callbackConnectRequest(bdId *srcId, bdId *proxyId, bdId *
|
|||||||
case BITDHT_CONNECT_ERROR_DUPLICATE: // similar attempt. delay/recycle (ANY/ANY)
|
case BITDHT_CONNECT_ERROR_DUPLICATE: // similar attempt. delay/recycle (ANY/ANY)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
#ifdef DEBUG_NODE_CONNECTION
|
||||||
std::cerr << "bdConnectManager::callbackConnectRequest() ";
|
std::cerr << "bdConnectManager::callbackConnectRequest() ";
|
||||||
std::cerr << " DUPLICATE, fatal";
|
std::cerr << " DUPLICATE, fatal";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
|
|
||||||
fatal = true;
|
fatal = true;
|
||||||
//recycle = true;
|
//recycle = true;
|
||||||
@ -1091,9 +1150,11 @@ void bdConnectManager::callbackConnectRequest(bdId *srcId, bdId *proxyId, bdId *
|
|||||||
{
|
{
|
||||||
recycle = true;
|
recycle = true;
|
||||||
|
|
||||||
|
#ifdef DEBUG_NODE_CONNECTION
|
||||||
std::cerr << "bdConnectManager::callbackConnectRequest() ";
|
std::cerr << "bdConnectManager::callbackConnectRequest() ";
|
||||||
std::cerr << "MID says OVERLOADED, recycle";
|
std::cerr << "MID says OVERLOADED, recycle";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -1112,9 +1173,11 @@ void bdConnectManager::callbackConnectRequest(bdId *srcId, bdId *proxyId, bdId *
|
|||||||
if (errsrc == BITDHT_CONNECT_ERROR_SOURCE_MID)
|
if (errsrc == BITDHT_CONNECT_ERROR_SOURCE_MID)
|
||||||
{
|
{
|
||||||
// could recycle? probably still won't work.
|
// could recycle? probably still won't work.
|
||||||
|
#ifdef DEBUG_NODE_CONNECTION
|
||||||
std::cerr << "bdConnectManager::callbackConnectRequest() ";
|
std::cerr << "bdConnectManager::callbackConnectRequest() ";
|
||||||
std::cerr << "MID says NOADDRESS";
|
std::cerr << "MID says NOADDRESS";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -1231,8 +1294,10 @@ int bdConnectManager::startConnectionAttempt(bdId *proxyId, bdId *srcConnAddr, b
|
|||||||
/* Switch the order of peers around to test for "opposite connections" */
|
/* Switch the order of peers around to test for "opposite connections" */
|
||||||
if (NULL != findSimilarConnection(&(destConnAddr->id), &(srcConnAddr->id)))
|
if (NULL != findSimilarConnection(&(destConnAddr->id), &(srcConnAddr->id)))
|
||||||
{
|
{
|
||||||
|
#ifdef DEBUG_NODE_CONNECTION
|
||||||
std::cerr << "bdConnectManager::startConnectAttempt() WARNING Found Similar Connection. returning 0";
|
std::cerr << "bdConnectManager::startConnectAttempt() WARNING Found Similar Connection. returning 0";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -1523,10 +1588,12 @@ void bdConnectManager::iterateConnections()
|
|||||||
remainingDelay = 0;
|
remainingDelay = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef DEBUG_NODE_CONNECTION
|
||||||
std::cerr << "bdConnectManager::iterateConnections() Start/ACK cycle: remaining Delay: " << remainingDelay;
|
std::cerr << "bdConnectManager::iterateConnections() Start/ACK cycle: remaining Delay: " << remainingDelay;
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
std::cerr << "bdConnectManager::iterateConnections() Start/ACK cycle: Bandwidth: " << bandwidth;
|
std::cerr << "bdConnectManager::iterateConnections() Start/ACK cycle: Bandwidth: " << bandwidth;
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
|
|
||||||
// Must calculate the correct delay's here!!!!
|
// Must calculate the correct delay's here!!!!
|
||||||
int delayOrBandwidth = remainingDelay;
|
int delayOrBandwidth = remainingDelay;
|
||||||
@ -1692,16 +1759,22 @@ bdConnection *bdConnectManager::findExistingConnection(bdNodeId *srcId, bdNodeId
|
|||||||
{
|
{
|
||||||
bdProxyTuple tuple(srcId, proxyId, destId);
|
bdProxyTuple tuple(srcId, proxyId, destId);
|
||||||
|
|
||||||
|
#ifdef DEBUG_NODE_CONNECTION
|
||||||
std::cerr << "bdConnectManager::findExistingConnection() Looking For: " << tuple << std::endl;
|
std::cerr << "bdConnectManager::findExistingConnection() Looking For: " << tuple << std::endl;
|
||||||
|
#endif
|
||||||
|
|
||||||
std::map<bdProxyTuple, bdConnection>::iterator it = mConnections.find(tuple);
|
std::map<bdProxyTuple, bdConnection>::iterator it = mConnections.find(tuple);
|
||||||
if (it == mConnections.end())
|
if (it == mConnections.end())
|
||||||
{
|
{
|
||||||
|
#ifdef DEBUG_NODE_CONNECTION
|
||||||
std::cerr << "bdConnectManager::findExistingConnection() Failed to Find: " << tuple << std::endl;
|
std::cerr << "bdConnectManager::findExistingConnection() Failed to Find: " << tuple << std::endl;
|
||||||
|
#endif
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef DEBUG_NODE_CONNECTION
|
||||||
std::cerr << "bdConnectManager::findExistingConnection() Found: " << tuple << std::endl;
|
std::cerr << "bdConnectManager::findExistingConnection() Found: " << tuple << std::endl;
|
||||||
|
#endif
|
||||||
return &(it->second);
|
return &(it->second);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1710,7 +1783,9 @@ bdConnection *bdConnectManager::newConnection(bdNodeId *srcId, bdNodeId *proxyId
|
|||||||
bdProxyTuple tuple(srcId, proxyId, destId);
|
bdProxyTuple tuple(srcId, proxyId, destId);
|
||||||
bdConnection conn;
|
bdConnection conn;
|
||||||
|
|
||||||
|
#ifdef DEBUG_NODE_CONNECTION
|
||||||
std::cerr << "bdConnectManager::newConnection() Installing: " << tuple << std::endl;
|
std::cerr << "bdConnectManager::newConnection() Installing: " << tuple << std::endl;
|
||||||
|
#endif
|
||||||
|
|
||||||
mConnections[tuple] = conn;
|
mConnections[tuple] = conn;
|
||||||
std::map<bdProxyTuple, bdConnection>::iterator it = mConnections.find(tuple);
|
std::map<bdProxyTuple, bdConnection>::iterator it = mConnections.find(tuple);
|
||||||
@ -1727,7 +1802,9 @@ int bdConnectManager::cleanConnection(bdNodeId *srcId, bdNodeId *proxyId, bdNode
|
|||||||
bdProxyTuple tuple(srcId, proxyId, destId);
|
bdProxyTuple tuple(srcId, proxyId, destId);
|
||||||
bdConnection conn;
|
bdConnection conn;
|
||||||
|
|
||||||
|
#ifdef DEBUG_NODE_CONNECTION
|
||||||
std::cerr << "bdConnectManager::cleanConnection() Removing: " << tuple << std::endl;
|
std::cerr << "bdConnectManager::cleanConnection() Removing: " << tuple << std::endl;
|
||||||
|
#endif
|
||||||
|
|
||||||
std::map<bdProxyTuple, bdConnection>::iterator it = mConnections.find(tuple);
|
std::map<bdProxyTuple, bdConnection>::iterator it = mConnections.find(tuple);
|
||||||
if (it == mConnections.end())
|
if (it == mConnections.end())
|
||||||
@ -1878,8 +1955,10 @@ int bdConnectManager::recvedConnectionRequest(bdId *id, bdId *srcConnAddr, bdId
|
|||||||
/* Switch the order of peers around to test for "opposite connections" */
|
/* Switch the order of peers around to test for "opposite connections" */
|
||||||
if (NULL != findSimilarConnection(&(destConnAddr->id), &(srcConnAddr->id)))
|
if (NULL != findSimilarConnection(&(destConnAddr->id), &(srcConnAddr->id)))
|
||||||
{
|
{
|
||||||
|
#ifdef DEBUG_NODE_CONNECTION
|
||||||
std::cerr << "bdConnectManager::recvedConnectionRequest() WARNING Found Similar Connection. Replying NO";
|
std::cerr << "bdConnectManager::recvedConnectionRequest() WARNING Found Similar Connection. Replying NO";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
|
|
||||||
/* reply existing connection */
|
/* reply existing connection */
|
||||||
int pos = determinePosition(&(id->id), &(srcConnAddr->id), &(destConnAddr->id));
|
int pos = determinePosition(&(id->id), &(srcConnAddr->id), &(destConnAddr->id));
|
||||||
@ -1924,8 +2003,10 @@ int bdConnectManager::recvedConnectionRequest(bdId *id, bdId *srcConnAddr, bdId
|
|||||||
bool areProxy = (srcConnAddr->id == id->id);
|
bool areProxy = (srcConnAddr->id == id->id);
|
||||||
if (areProxy)
|
if (areProxy)
|
||||||
{
|
{
|
||||||
|
#ifdef DEBUG_NODE_CONNECTION
|
||||||
std::cerr << "bdConnectManager::recvedConnectionRequest() We are MID Point for Proxy / Relay Connection.";
|
std::cerr << "bdConnectManager::recvedConnectionRequest() We are MID Point for Proxy / Relay Connection.";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
|
|
||||||
point = BD_PROXY_CONNECTION_MID_POINT;
|
point = BD_PROXY_CONNECTION_MID_POINT;
|
||||||
|
|
||||||
@ -1944,8 +2025,10 @@ int bdConnectManager::recvedConnectionRequest(bdId *id, bdId *srcConnAddr, bdId
|
|||||||
|
|
||||||
if (mNodeSpace->find_node(&(destConnAddr->id), numNodes, matchingIds, with_flag))
|
if (mNodeSpace->find_node(&(destConnAddr->id), numNodes, matchingIds, with_flag))
|
||||||
{
|
{
|
||||||
|
#ifdef DEBUG_NODE_CONNECTION
|
||||||
std::cerr << "bdConnectManager::recvedConnectionRequest() Found Suitable Destination Addr";
|
std::cerr << "bdConnectManager::recvedConnectionRequest() Found Suitable Destination Addr";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
|
|
||||||
if (matchingIds.size() > 1)
|
if (matchingIds.size() > 1)
|
||||||
{
|
{
|
||||||
@ -1960,10 +2043,12 @@ int bdConnectManager::recvedConnectionRequest(bdId *id, bdId *srcConnAddr, bdId
|
|||||||
|
|
||||||
if (proxyOk)
|
if (proxyOk)
|
||||||
{
|
{
|
||||||
|
#ifdef DEBUG_NODE_CONNECTION
|
||||||
std::cerr << "bdConnectManager::recvedConnectionRequest() Proxy Addr Ok: ";
|
std::cerr << "bdConnectManager::recvedConnectionRequest() Proxy Addr Ok: ";
|
||||||
bdStdPrintId(std::cerr, destConnAddr);
|
bdStdPrintId(std::cerr, destConnAddr);
|
||||||
std::cerr << "asking for AUTH to continue";
|
std::cerr << "asking for AUTH to continue";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
|
|
||||||
conn->ConnectionRequestProxy(id, srcConnAddr, &mOwnId, &destId, mode, delay);
|
conn->ConnectionRequestProxy(id, srcConnAddr, &mOwnId, &destId, mode, delay);
|
||||||
|
|
||||||
@ -1985,8 +2070,10 @@ int bdConnectManager::recvedConnectionRequest(bdId *id, bdId *srcConnAddr, bdId
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* clean up connection... its not going to work */
|
/* clean up connection... its not going to work */
|
||||||
|
#ifdef DEBUG_NODE_CONNECTION
|
||||||
std::cerr << "bdConnectManager::recvedConnectionRequest() WARNING No Proxy Addr, Shutting Connect Attempt";
|
std::cerr << "bdConnectManager::recvedConnectionRequest() WARNING No Proxy Addr, Shutting Connect Attempt";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/* send FAIL message to SRC */
|
/* send FAIL message to SRC */
|
||||||
@ -2002,8 +2089,10 @@ int bdConnectManager::recvedConnectionRequest(bdId *id, bdId *srcConnAddr, bdId
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
#ifdef DEBUG_NODE_CONNECTION
|
||||||
std::cerr << "bdConnectManager::recvedConnectionRequest() END Proxy/Relay Connection, asking for AUTH to continue";
|
std::cerr << "bdConnectManager::recvedConnectionRequest() END Proxy/Relay Connection, asking for AUTH to continue";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
|
|
||||||
point = BD_PROXY_CONNECTION_END_POINT;
|
point = BD_PROXY_CONNECTION_END_POINT;
|
||||||
|
|
||||||
@ -2055,12 +2144,14 @@ int bdConnectManager::recvedConnectionReply(bdId *id, bdId *srcConnAddr, bdId *d
|
|||||||
if ((status != BITDHT_CONNECT_ANSWER_OKAY) && (conn->mPoint == BD_PROXY_CONNECTION_START_POINT))
|
if ((status != BITDHT_CONNECT_ANSWER_OKAY) && (conn->mPoint == BD_PROXY_CONNECTION_START_POINT))
|
||||||
{
|
{
|
||||||
/* connection is killed */
|
/* connection is killed */
|
||||||
|
#ifdef DEBUG_NODE_CONNECTION
|
||||||
std::cerr << "bdConnectManager::recvedConnectionReply() WARNING Connection Rejected. Error: ";
|
std::cerr << "bdConnectManager::recvedConnectionReply() WARNING Connection Rejected. Error: ";
|
||||||
std::cerr << decodeConnectionError(status);
|
std::cerr << decodeConnectionError(status);
|
||||||
std::cerr << ", Killing It: ";
|
std::cerr << ", Killing It: ";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
std::cerr << *conn;
|
std::cerr << *conn;
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
errCode = status; // Pass on the Error Message.
|
errCode = status; // Pass on the Error Message.
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -2104,8 +2195,10 @@ int bdConnectManager::recvedConnectionReply(bdId *id, bdId *srcConnAddr, bdId *d
|
|||||||
if ((status == BITDHT_CONNECT_ANSWER_OKAY) && (conn->mState == BITDHT_CONNECTION_WAITING_REPLY))
|
if ((status == BITDHT_CONNECT_ANSWER_OKAY) && (conn->mState == BITDHT_CONNECTION_WAITING_REPLY))
|
||||||
{
|
{
|
||||||
/* OK, continue connection! */
|
/* OK, continue connection! */
|
||||||
|
#ifdef DEBUG_NODE_CONNECTION
|
||||||
std::cerr << "bdConnectManager::recvedConnectionReply() @MIDPOINT. Reply + State OK, continuing connection";
|
std::cerr << "bdConnectManager::recvedConnectionReply() @MIDPOINT. Reply + State OK, continuing connection";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Upgrade Connection to Finishing Mode */
|
/* Upgrade Connection to Finishing Mode */
|
||||||
conn->upgradeProxyConnectionToFinish(id, srcConnAddr, destConnAddr, mode, delay, status);
|
conn->upgradeProxyConnectionToFinish(id, srcConnAddr, destConnAddr, mode, delay, status);
|
||||||
@ -2126,12 +2219,14 @@ int bdConnectManager::recvedConnectionReply(bdId *id, bdId *srcConnAddr, bdId *d
|
|||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef DEBUG_NODE_CONNECTION
|
||||||
std::cerr << "bdConnectManager::recvedConnectionReply() WARNING @MIDPOINT recved Error: ";
|
std::cerr << "bdConnectManager::recvedConnectionReply() WARNING @MIDPOINT recved Error: ";
|
||||||
std::cerr << decodeConnectionError(status);
|
std::cerr << decodeConnectionError(status);
|
||||||
std::cerr << " Killing It: ";
|
std::cerr << " Killing It: ";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
std::cerr << *conn;
|
std::cerr << *conn;
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
|
|
||||||
uint32_t errCode = status;
|
uint32_t errCode = status;
|
||||||
if (errCode == BITDHT_CONNECT_ERROR_NONE)
|
if (errCode == BITDHT_CONNECT_ERROR_NONE)
|
||||||
@ -2175,8 +2270,10 @@ int bdConnectManager::recvedConnectionReply(bdId *id, bdId *srcConnAddr, bdId *d
|
|||||||
|
|
||||||
int bdConnectManager::recvedConnectionStart(bdId *id, bdId *srcConnAddr, bdId *destConnAddr, int mode, int delayOrBandwidth)
|
int bdConnectManager::recvedConnectionStart(bdId *id, bdId *srcConnAddr, bdId *destConnAddr, int mode, int delayOrBandwidth)
|
||||||
{
|
{
|
||||||
|
#ifdef DEBUG_NODE_CONNECTION
|
||||||
std::cerr << "bdConnectManager::recvedConnectionStart()";
|
std::cerr << "bdConnectManager::recvedConnectionStart()";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
|
|
||||||
/* retrieve existing connection data */
|
/* retrieve existing connection data */
|
||||||
bdConnection *conn = findExistingConnectionBySender(id, srcConnAddr, destConnAddr);
|
bdConnection *conn = findExistingConnectionBySender(id, srcConnAddr, destConnAddr);
|
||||||
@ -2209,8 +2306,10 @@ int bdConnectManager::recvedConnectionStart(bdId *id, bdId *srcConnAddr, bdId *d
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* ALL Okay, Send ACK */
|
/* ALL Okay, Send ACK */
|
||||||
|
#ifdef DEBUG_NODE_CONNECTION
|
||||||
std::cerr << "bdConnectManager::recvedConnectionStart() Passed basic tests, Okay to send ACK";
|
std::cerr << "bdConnectManager::recvedConnectionStart() Passed basic tests, Okay to send ACK";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
|
|
||||||
int msgtype = BITDHT_MSG_TYPE_CONNECT_ACK;
|
int msgtype = BITDHT_MSG_TYPE_CONNECT_ACK;
|
||||||
int status = BITDHT_CONNECT_ANSWER_OKAY;
|
int status = BITDHT_CONNECT_ANSWER_OKAY;
|
||||||
@ -2221,8 +2320,10 @@ int bdConnectManager::recvedConnectionStart(bdId *id, bdId *srcConnAddr, bdId *d
|
|||||||
/* flag as completed */
|
/* flag as completed */
|
||||||
if (conn->mState != BITDHT_CONNECTION_COMPLETED)
|
if (conn->mState != BITDHT_CONNECTION_COMPLETED)
|
||||||
{
|
{
|
||||||
|
#ifdef DEBUG_NODE_CONNECTION
|
||||||
std::cerr << "bdConnectManager::recvedConnectionStart() Switching State to COMPLETED, doing callback";
|
std::cerr << "bdConnectManager::recvedConnectionStart() Switching State to COMPLETED, doing callback";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
|
|
||||||
int param = delayOrBandwidth;
|
int param = delayOrBandwidth;
|
||||||
int bandwidth = 0;
|
int bandwidth = 0;
|
||||||
@ -2238,9 +2339,11 @@ int bdConnectManager::recvedConnectionStart(bdId *id, bdId *srcConnAddr, bdId *d
|
|||||||
|
|
||||||
conn->CompleteConnection(id, srcConnAddr, destConnAddr, bandwidth, delay);
|
conn->CompleteConnection(id, srcConnAddr, destConnAddr, bandwidth, delay);
|
||||||
|
|
||||||
|
#ifdef DEBUG_NODE_CONNECTION
|
||||||
std::cerr << "bdConnectManager::recvedConnectionStart() Connection State: ";
|
std::cerr << "bdConnectManager::recvedConnectionStart() Connection State: ";
|
||||||
std::cerr << *conn;
|
std::cerr << *conn;
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
if (conn->mPoint == BD_PROXY_CONNECTION_START_POINT)
|
if (conn->mPoint == BD_PROXY_CONNECTION_START_POINT)
|
||||||
@ -2262,8 +2365,10 @@ int bdConnectManager::recvedConnectionStart(bdId *id, bdId *srcConnAddr, bdId *d
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
#ifdef DEBUG_NODE_CONNECTION
|
||||||
std::cerr << "bdConnectManager::recvedConnectionStart() Just sent duplicate ACK";
|
std::cerr << "bdConnectManager::recvedConnectionStart() Just sent duplicate ACK";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
/* don't delete, if ACK is lost, we want to be able to re-respond */
|
/* don't delete, if ACK is lost, we want to be able to re-respond */
|
||||||
|
|
||||||
@ -2313,24 +2418,30 @@ int bdConnectManager::recvedConnectionAck(bdId *id, bdId *srcConnAddr, bdId *des
|
|||||||
|
|
||||||
if (id->id == srcConnAddr->id)
|
if (id->id == srcConnAddr->id)
|
||||||
{
|
{
|
||||||
|
#ifdef DEBUG_NODE_CONNECTION
|
||||||
std::cerr << "bdConnectManager::recvedConnectionAck() from Src, marking So";
|
std::cerr << "bdConnectManager::recvedConnectionAck() from Src, marking So";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
|
|
||||||
/* recved Ack from source */
|
/* recved Ack from source */
|
||||||
conn->mSrcAck = true;
|
conn->mSrcAck = true;
|
||||||
}
|
}
|
||||||
else if (id->id == destConnAddr->id)
|
else if (id->id == destConnAddr->id)
|
||||||
{
|
{
|
||||||
|
#ifdef DEBUG_NODE_CONNECTION
|
||||||
std::cerr << "bdConnectManager::recvedConnectionAck() from Dest, marking So";
|
std::cerr << "bdConnectManager::recvedConnectionAck() from Dest, marking So";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
/* recved Ack from dest */
|
/* recved Ack from dest */
|
||||||
conn->mDestAck = true;
|
conn->mDestAck = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (conn->mSrcAck && conn->mDestAck)
|
if (conn->mSrcAck && conn->mDestAck)
|
||||||
{
|
{
|
||||||
|
#ifdef DEBUG_NODE_CONNECTION
|
||||||
std::cerr << "bdConnectManager::recvedConnectionAck() ACKs from Both Src & Dest, Connection Complete: callback & cleanup";
|
std::cerr << "bdConnectManager::recvedConnectionAck() ACKs from Both Src & Dest, Connection Complete: callback & cleanup";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
|
|
||||||
/* connection complete! cleanup */
|
/* connection complete! cleanup */
|
||||||
if (conn->mMode == BITDHT_CONNECT_MODE_DIRECT)
|
if (conn->mMode == BITDHT_CONNECT_MODE_DIRECT)
|
||||||
@ -2677,12 +2788,12 @@ int bdConnection::upgradeProxyConnectionToFinish(bdId *id, bdId *srcConnAddr, bd
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#ifdef DEBUG_CONNECTION_DELAY
|
|
||||||
if ((secondDelay > 100 || mMaxDelay > 100) || (mBandwidth > 1050))
|
if ((secondDelay > 100 || mMaxDelay > 100) || (mBandwidth > 1050))
|
||||||
{
|
{
|
||||||
std::cerr << "bdConnection::upgradeProxyConnectionToFinish(): ERROR Bandwidth or Delay rather large";
|
std::cerr << "bdConnection::upgradeProxyConnectionToFinish(): ERROR Bandwidth or Delay rather large";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
}
|
}
|
||||||
|
#ifdef DEBUG_CONNECTION_DELAY
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
@ -2728,12 +2839,12 @@ int bdConnection::CompleteConnection(bdId *id, bdId *srcConnAddr, bdId *destConn
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#ifdef DEBUG_CONNECTION_DELAY
|
|
||||||
if ((delay > 100 || mMaxDelay > 100) || (mBandwidth > 1050))
|
if ((delay > 100 || mMaxDelay > 100) || (mBandwidth > 1050))
|
||||||
{
|
{
|
||||||
std::cerr << "bdConnection::CompleteConnection(): ERROR Bandwidth or Delay rather large";
|
std::cerr << "bdConnection::CompleteConnection(): ERROR Bandwidth or Delay rather large";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
}
|
}
|
||||||
|
#ifdef DEBUG_CONNECTION_DELAY
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef DEBUG_CONNECTION_DELAY
|
#ifdef DEBUG_CONNECTION_DELAY
|
||||||
@ -2773,16 +2884,20 @@ int bdConnection::checkForDefaultConnectAddress()
|
|||||||
|
|
||||||
if (mSrcConnAddr.addr.sin_addr.s_addr == 0)
|
if (mSrcConnAddr.addr.sin_addr.s_addr == 0)
|
||||||
{
|
{
|
||||||
|
#ifdef DEBUG_NODE_CONNECTION
|
||||||
std::cerr << "bdConnectManager::checkForDefaultConnectAddress() SrcConnAddr.addr is BLANK, installing Dht Node Address";
|
std::cerr << "bdConnectManager::checkForDefaultConnectAddress() SrcConnAddr.addr is BLANK, installing Dht Node Address";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
|
|
||||||
mSrcConnAddr.addr = mSrcId.addr;
|
mSrcConnAddr.addr = mSrcId.addr;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mDestConnAddr.addr.sin_addr.s_addr == 0)
|
if (mDestConnAddr.addr.sin_addr.s_addr == 0)
|
||||||
{
|
{
|
||||||
|
#ifdef DEBUG_NODE_CONNECTION
|
||||||
std::cerr << "bdConnectManager::checkForDefaultConnectAddress() DestConnAddr.addr is BLANK, installing Dht Node Address";
|
std::cerr << "bdConnectManager::checkForDefaultConnectAddress() DestConnAddr.addr is BLANK, installing Dht Node Address";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
|
|
||||||
mDestConnAddr.addr = mDestId.addr;
|
mDestConnAddr.addr = mDestId.addr;
|
||||||
}
|
}
|
||||||
@ -2832,15 +2947,19 @@ int bdConnectionRequest::setupProxyConnection(struct sockaddr_in *laddr, bdNodeI
|
|||||||
|
|
||||||
int bdConnectionRequest::checkGoodProxyPeer(const bdId *id)
|
int bdConnectionRequest::checkGoodProxyPeer(const bdId *id)
|
||||||
{
|
{
|
||||||
|
#ifdef DEBUG_NODE_CONNECTION
|
||||||
std::cerr << "bdConnectionRequest::checkProxyPeer() ";
|
std::cerr << "bdConnectionRequest::checkProxyPeer() ";
|
||||||
bdStdPrintId(std::cerr, id);
|
bdStdPrintId(std::cerr, id);
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
|
|
||||||
std::list<bdId>::iterator it = std::find(mPotentialProxies.begin(), mPotentialProxies.end(), *id);
|
std::list<bdId>::iterator it = std::find(mPotentialProxies.begin(), mPotentialProxies.end(), *id);
|
||||||
if (it != mPotentialProxies.end())
|
if (it != mPotentialProxies.end())
|
||||||
{
|
{
|
||||||
|
#ifdef DEBUG_NODE_CONNECTION
|
||||||
std::cerr << "bdConnectionRequest::checkProxyPeer() Found in PotentialProxies List, adding in";
|
std::cerr << "bdConnectionRequest::checkProxyPeer() Found in PotentialProxies List, adding in";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
|
|
||||||
it = mPotentialProxies.erase(it);
|
it = mPotentialProxies.erase(it);
|
||||||
|
|
||||||
@ -2853,14 +2972,18 @@ int bdConnectionRequest::checkGoodProxyPeer(const bdId *id)
|
|||||||
|
|
||||||
int bdConnectionRequest::addGoodProxy(const bdId *srcId)
|
int bdConnectionRequest::addGoodProxy(const bdId *srcId)
|
||||||
{
|
{
|
||||||
|
#ifdef DEBUG_NODE_CONNECTION
|
||||||
std::cerr << "bdConnectionRequest::addGoodProxy() ";
|
std::cerr << "bdConnectionRequest::addGoodProxy() ";
|
||||||
bdStdPrintId(std::cerr, srcId);
|
bdStdPrintId(std::cerr, srcId);
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
|
|
||||||
if (*srcId == mCurrentAttempt)
|
if (*srcId == mCurrentAttempt)
|
||||||
{
|
{
|
||||||
|
#ifdef DEBUG_NODE_CONNECTION
|
||||||
std::cerr << "bdConnectionRequest::addGoodProxy() Duplicate with CurrentAttempt";
|
std::cerr << "bdConnectionRequest::addGoodProxy() Duplicate with CurrentAttempt";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2870,9 +2993,11 @@ int bdConnectionRequest::addGoodProxy(const bdId *srcId)
|
|||||||
it = std::find(mGoodProxies.begin(), mGoodProxies.end(), *srcId);
|
it = std::find(mGoodProxies.begin(), mGoodProxies.end(), *srcId);
|
||||||
if (it == mGoodProxies.end())
|
if (it == mGoodProxies.end())
|
||||||
{
|
{
|
||||||
|
#ifdef DEBUG_NODE_CONNECTION
|
||||||
std::cerr << "bdConnectionRequest::addGoodProxy() CRINITSTATE Found New Proxy: ";
|
std::cerr << "bdConnectionRequest::addGoodProxy() CRINITSTATE Found New Proxy: ";
|
||||||
bdStdPrintId(std::cerr, srcId);
|
bdStdPrintId(std::cerr, srcId);
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
|
|
||||||
mGoodProxies.push_back(*srcId);
|
mGoodProxies.push_back(*srcId);
|
||||||
|
|
||||||
@ -2880,8 +3005,10 @@ int bdConnectionRequest::addGoodProxy(const bdId *srcId)
|
|||||||
it = std::find(mPotentialProxies.begin(), mPotentialProxies.end(), *srcId);
|
it = std::find(mPotentialProxies.begin(), mPotentialProxies.end(), *srcId);
|
||||||
if (it != mPotentialProxies.end())
|
if (it != mPotentialProxies.end())
|
||||||
{
|
{
|
||||||
|
#ifdef DEBUG_NODE_CONNECTION
|
||||||
std::cerr << "bdConnectionRequest::addGoodProxy() Removing from PotentialProxy List";
|
std::cerr << "bdConnectionRequest::addGoodProxy() Removing from PotentialProxy List";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
|
|
||||||
it = mPotentialProxies.erase(it);
|
it = mPotentialProxies.erase(it);
|
||||||
}
|
}
|
||||||
@ -2889,14 +3016,18 @@ int bdConnectionRequest::addGoodProxy(const bdId *srcId)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
#ifdef DEBUG_NODE_CONNECTION
|
||||||
std::cerr << "bdConnectionRequest::addGoodProxy() Duplicate in mPotentialProxies List";
|
std::cerr << "bdConnectionRequest::addGoodProxy() Duplicate in mPotentialProxies List";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
#ifdef DEBUG_NODE_CONNECTION
|
||||||
std::cerr << "bdConnectionRequest::addGoodProxy() Already tried this peer";
|
std::cerr << "bdConnectionRequest::addGoodProxy() Already tried this peer";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -42,7 +42,7 @@ class bdNodePublisher;
|
|||||||
#define BITDHT_CONNREQUEST_EXTCONNECT 4
|
#define BITDHT_CONNREQUEST_EXTCONNECT 4
|
||||||
#define BITDHT_CONNREQUEST_DONE 5
|
#define BITDHT_CONNREQUEST_DONE 5
|
||||||
|
|
||||||
#define BITDHT_CONNREQUEST_TIMEOUT_CONNECT 180 // MAKE THIS LARGE - SHOULD NEVER HAPPEN.
|
#define BITDHT_CONNREQUEST_TIMEOUT_CONNECT 300 // MAKE THIS LARGE - SHOULD NEVER HAPPEN.
|
||||||
#define BITDHT_CONNREQUEST_TIMEOUT_INPROGRESS 30
|
#define BITDHT_CONNREQUEST_TIMEOUT_INPROGRESS 30
|
||||||
#define BITDHT_CONNREQUEST_MAX_AGE 60
|
#define BITDHT_CONNREQUEST_MAX_AGE 60
|
||||||
|
|
||||||
|
@ -363,8 +363,10 @@ void bdNodeManager::iteration()
|
|||||||
#define SEARCH_MAX_SIZE 10
|
#define SEARCH_MAX_SIZE 10
|
||||||
if (mBdNetworkSize < SEARCH_MAX_SIZE)
|
if (mBdNetworkSize < SEARCH_MAX_SIZE)
|
||||||
{
|
{
|
||||||
|
#ifdef DEBUG_MGR
|
||||||
std::cerr << "Local Netsize: " << mBdNetworkSize << " to small...searching";
|
std::cerr << "Local Netsize: " << mBdNetworkSize << " to small...searching";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
|
|
||||||
/* if the network size is very small */
|
/* if the network size is very small */
|
||||||
SearchForLocalNet();
|
SearchForLocalNet();
|
||||||
@ -376,8 +378,10 @@ void bdNodeManager::iteration()
|
|||||||
{
|
{
|
||||||
mSearchingDone = true;
|
mSearchingDone = true;
|
||||||
mSearchTS = now;
|
mSearchTS = now;
|
||||||
|
#ifdef DEBUG_MGR
|
||||||
std::cerr << "Completed LocalNet Search in : " << mSearchTS-mStartTS;
|
std::cerr << "Completed LocalNet Search in : " << mSearchTS-mStartTS;
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -476,7 +480,7 @@ int bdNodeManager::QueryRandomLocalNet()
|
|||||||
mQueryMgr->addWorthyPeerSource(&id); /* Tell BitDHT that we really want to ping their peers */
|
mQueryMgr->addWorthyPeerSource(&id); /* Tell BitDHT that we really want to ping their peers */
|
||||||
send_query(&id, &targetNodeId);
|
send_query(&id, &targetNodeId);
|
||||||
|
|
||||||
#ifdef DEBUG_NODE_MSGS
|
#ifdef DEBUG_MGR
|
||||||
std::cerr << "bdNodeManager::QueryRandomLocalNet() Querying : ";
|
std::cerr << "bdNodeManager::QueryRandomLocalNet() Querying : ";
|
||||||
mFns->bdPrintId(std::cerr, &id);
|
mFns->bdPrintId(std::cerr, &id);
|
||||||
std::cerr << " searching for : ";
|
std::cerr << " searching for : ";
|
||||||
@ -486,7 +490,7 @@ int bdNodeManager::QueryRandomLocalNet()
|
|||||||
|
|
||||||
if (isRandom)
|
if (isRandom)
|
||||||
{
|
{
|
||||||
#ifdef DEBUG_NODE_MSGS
|
#ifdef DEBUG_MGR
|
||||||
std::cerr << "bdNodeManager::QueryRandomLocalNet() Search is Random!";
|
std::cerr << "bdNodeManager::QueryRandomLocalNet() Search is Random!";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
#endif
|
#endif
|
||||||
@ -496,7 +500,7 @@ int bdNodeManager::QueryRandomLocalNet()
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
#ifdef DEBUG_NODE_MSGS
|
#ifdef DEBUG_MGR
|
||||||
std::cerr << "bdNodeManager::QueryRandomLocalNet() No LocalNet Peer Found";
|
std::cerr << "bdNodeManager::QueryRandomLocalNet() No LocalNet Peer Found";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
#endif
|
#endif
|
||||||
@ -512,9 +516,9 @@ void bdNodeManager::SearchForLocalNet()
|
|||||||
|
|
||||||
|
|
||||||
#ifdef DEBUG_MGR
|
#ifdef DEBUG_MGR
|
||||||
#endif
|
|
||||||
std::cerr << "bdNodeManager::SearchForLocalNet()";
|
std::cerr << "bdNodeManager::SearchForLocalNet()";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Check how many "Search Queries" we've got going. */
|
/* Check how many "Search Queries" we've got going. */
|
||||||
|
|
||||||
@ -565,26 +569,30 @@ void bdNodeManager::SearchForLocalNet()
|
|||||||
|
|
||||||
if (filterOk)
|
if (filterOk)
|
||||||
{
|
{
|
||||||
|
#ifdef DEBUG_MGR
|
||||||
std::cerr << "bdNodeManager::SearchForLocalNet() " << i << " Attempts to find OkNode: ";
|
std::cerr << "bdNodeManager::SearchForLocalNet() " << i << " Attempts to find OkNode: ";
|
||||||
mFns->bdPrintNodeId(std::cerr, &targetNodeId);
|
mFns->bdPrintNodeId(std::cerr, &targetNodeId);
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
#ifdef DEBUG_MGR
|
||||||
std::cerr << "bdNodeManager::SearchForLocalNet() Failed to Find FilterOk this time: ";
|
std::cerr << "bdNodeManager::SearchForLocalNet() Failed to Find FilterOk this time: ";
|
||||||
mFns->bdPrintNodeId(std::cerr, &targetNodeId);
|
mFns->bdPrintNodeId(std::cerr, &targetNodeId);
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
uint32_t qflags = BITDHT_QFLAGS_INTERNAL | BITDHT_QFLAGS_DISGUISE;
|
uint32_t qflags = BITDHT_QFLAGS_INTERNAL | BITDHT_QFLAGS_DISGUISE;
|
||||||
mQueryMgr->addQuery(&targetNodeId, qflags);
|
mQueryMgr->addQuery(&targetNodeId, qflags);
|
||||||
|
|
||||||
#ifdef DEBUG_NODE_MSGS
|
#ifdef DEBUG_MGR
|
||||||
#endif
|
|
||||||
std::cerr << "bdNodeManager::SearchForLocalNet() Adding New Internal Search: ";
|
std::cerr << "bdNodeManager::SearchForLocalNet() Adding New Internal Search: ";
|
||||||
mFns->bdPrintNodeId(std::cerr, &(targetNodeId));
|
mFns->bdPrintNodeId(std::cerr, &(targetNodeId));
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -465,7 +465,7 @@ void bdNode::addPeer(const bdId *id, uint32_t peerflags)
|
|||||||
mConnMgr->updatePotentialConnectionProxy(id, peerflags);
|
mConnMgr->updatePotentialConnectionProxy(id, peerflags);
|
||||||
|
|
||||||
|
|
||||||
#define DISPLAY_BITDHTNODES 1
|
//#define DISPLAY_BITDHTNODES 1
|
||||||
#ifdef DISPLAY_BITDHTNODES
|
#ifdef DISPLAY_BITDHTNODES
|
||||||
/* TEMP to extract IDS for BloomFilter */
|
/* TEMP to extract IDS for BloomFilter */
|
||||||
if (peerflags & BITDHT_PEER_STATUS_DHT_ENGINE)
|
if (peerflags & BITDHT_PEER_STATUS_DHT_ENGINE)
|
||||||
|
Loading…
Reference in New Issue
Block a user