diff options
author | s_nakamoto <s_nakamoto@1a98c847-1fd6-4fd8-948a-caf3550aa51b> | 2009-12-14 02:12:01 +0000 |
---|---|---|
committer | s_nakamoto <s_nakamoto@1a98c847-1fd6-4fd8-948a-caf3550aa51b> | 2009-12-14 02:12:01 +0000 |
commit | 2da02dd7749060b55fd5e14696277b64583b8100 (patch) | |
tree | 338219ac575841c88b69060d6367b60364b7aae7 /net.cpp | |
parent | 2ed2b9a3e42110beb657efb51360cb545c6a72f8 (diff) | |
download | bitcoin-2da02dd7749060b55fd5e14696277b64583b8100.tar.xz |
filter out duplicate getblocks and don't relay inv messages during initial block download -- 0.2 rc2
Diffstat (limited to 'net.cpp')
-rw-r--r-- | net.cpp | 21 |
1 files changed, 19 insertions, 2 deletions
@@ -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;
|