mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-11-12 15:09:59 +01:00
Single DB transaction for all addresses in a message
Cuts disk activity at startup immensely
This commit is contained in:
committed by
Stéphane Gimenez
parent
9cd22ab862
commit
8c41469140
14
src/net.cpp
14
src/net.cpp
@@ -440,7 +440,7 @@ void ThreadGetMyExternalIP(void* parg)
|
||||
|
||||
|
||||
|
||||
bool AddAddress(CAddress addr, int64 nTimePenalty)
|
||||
bool AddAddress(CAddress addr, int64 nTimePenalty, CAddrDB *pAddrDB)
|
||||
{
|
||||
if (!addr.IsRoutable())
|
||||
return false;
|
||||
@@ -455,7 +455,10 @@ bool AddAddress(CAddress addr, int64 nTimePenalty)
|
||||
// New address
|
||||
printf("AddAddress(%s)\n", addr.ToString().c_str());
|
||||
mapAddresses.insert(make_pair(addr.GetKey(), addr));
|
||||
CAddrDB().WriteAddress(addr);
|
||||
if (pAddrDB)
|
||||
pAddrDB->WriteAddress(addr);
|
||||
else
|
||||
CAddrDB().WriteAddress(addr);
|
||||
return true;
|
||||
}
|
||||
else
|
||||
@@ -477,7 +480,12 @@ bool AddAddress(CAddress addr, int64 nTimePenalty)
|
||||
fUpdated = true;
|
||||
}
|
||||
if (fUpdated)
|
||||
CAddrDB().WriteAddress(addrFound);
|
||||
{
|
||||
if (pAddrDB)
|
||||
pAddrDB->WriteAddress(addrFound);
|
||||
else
|
||||
CAddrDB().WriteAddress(addrFound);
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
|
||||
Reference in New Issue
Block a user