aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Garzik <jgarzik@exmulti.com>2012-04-14 08:50:43 -0700
committerJeff Garzik <jgarzik@exmulti.com>2012-04-14 08:50:43 -0700
commit22014c31e5955f29ccf84cbdce3d84a025a6f771 (patch)
tree0254452a8a2d47ac06bb0b57258cc4bc51c3727e
parent46ba858817dd1a9cbb69b11f4603e8f8f74c4c44 (diff)
parent9925d34a496b1d61a7d9976a385aa8122b1a4778 (diff)
Merge pull request #1093 from jgarzik/tx-opt
Database micro-optimization for "tx" network message
-rw-r--r--src/main.cpp11
-rw-r--r--src/main.h1
2 files changed, 3 insertions, 9 deletions
diff --git a/src/main.cpp b/src/main.cpp
index bdafae8eb8..a6393a5c83 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -592,12 +592,6 @@ bool CTransaction::AcceptToMemoryPool(CTxDB& txdb, bool fCheckInputs, bool* pfMi
return true;
}
-bool CTransaction::AcceptToMemoryPool(bool fCheckInputs, bool* pfMissingInputs)
-{
- CTxDB txdb("r");
- return AcceptToMemoryPool(txdb, fCheckInputs, pfMissingInputs);
-}
-
uint64 nPooledTx = 0;
bool CTransaction::AddToMemoryPoolUnchecked()
@@ -2522,6 +2516,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv)
{
vector<uint256> vWorkQueue;
CDataStream vMsg(vRecv);
+ CTxDB txdb("r");
CTransaction tx;
vRecv >> tx;
@@ -2529,7 +2524,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv)
pfrom->AddInventoryKnown(inv);
bool fMissingInputs = false;
- if (tx.AcceptToMemoryPool(true, &fMissingInputs))
+ if (tx.AcceptToMemoryPool(txdb, true, &fMissingInputs))
{
SyncWithWallets(tx, NULL, true);
RelayMessage(inv, vMsg);
@@ -2549,7 +2544,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv)
CDataStream(vMsg) >> tx;
CInv inv(MSG_TX, tx.GetHash());
- if (tx.AcceptToMemoryPool(true))
+ if (tx.AcceptToMemoryPool(txdb, true))
{
printf(" accepted orphan tx %s\n", inv.hash.ToString().substr(0,10).c_str());
SyncWithWallets(tx, NULL, true);
diff --git a/src/main.h b/src/main.h
index 1d46851ac2..723f4e150c 100644
--- a/src/main.h
+++ b/src/main.h
@@ -684,7 +684,6 @@ public:
bool ClientConnectInputs();
bool CheckTransaction() const;
bool AcceptToMemoryPool(CTxDB& txdb, bool fCheckInputs=true, bool* pfMissingInputs=NULL);
- bool AcceptToMemoryPool(bool fCheckInputs=true, bool* pfMissingInputs=NULL);
protected:
const CTxOut& GetOutputFor(const CTxIn& input, const MapPrevTx& inputs) const;