mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-11-10 14:08:40 +01:00
filter out duplicate getblocks and don't relay inv messages during initial block download -- 0.2 rc2
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@49 1a98c847-1fd6-4fd8-948a-caf3550aa51b
This commit is contained in:
21
net.cpp
21
net.cpp
@@ -40,6 +40,23 @@ CAddress addrProxy("127.0.0.1:9050");
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
void CNode::PushGetBlocks(CBlockIndex* pindexBegin, uint256 hashEnd)
|
||||
{
|
||||
// Filter out duplicate requests
|
||||
if (pindexBegin == pindexLastGetBlocksBegin && hashEnd == hashLastGetBlocksEnd)
|
||||
return;
|
||||
pindexLastGetBlocksBegin = pindexBegin;
|
||||
hashLastGetBlocksEnd = hashEnd;
|
||||
|
||||
PushMessage("getblocks", CBlockLocator(pindexBegin), hashEnd);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
bool ConnectSocket(const CAddress& addrConnect, SOCKET& hSocketRet)
|
||||
{
|
||||
hSocketRet = INVALID_SOCKET;
|
||||
@@ -764,12 +781,12 @@ void ThreadSocketHandler2(void* parg)
|
||||
printf("socket no message in first 60 seconds, %d %d\n", pnode->nLastRecv != 0, pnode->nLastSend != 0);
|
||||
pnode->fDisconnect = true;
|
||||
}
|
||||
else if (GetTime() - pnode->nLastSend > 10 * 60 && GetTime() - pnode->nLastSendEmpty > 10 * 60)
|
||||
else if (GetTime() - pnode->nLastSend > 90*60 && GetTime() - pnode->nLastSendEmpty > 90*60)
|
||||
{
|
||||
printf("socket not sending\n");
|
||||
pnode->fDisconnect = true;
|
||||
}
|
||||
else if (GetTime() - pnode->nLastRecv > (pnode->nVersion >= 107 ? 15*60 : 90*60))
|
||||
else if (GetTime() - pnode->nLastRecv > 90*60)
|
||||
{
|
||||
printf("socket inactivity timeout\n");
|
||||
pnode->fDisconnect = true;
|
||||
|
||||
Reference in New Issue
Block a user