Merge #9260: Mrs Peacock in The Library with The Candlestick (killed main.{h,cpp})

76faa3c Rename the remaining main.{h,cpp} to validation.{h,cpp} (Matt Corallo)
e736772 Move network-msg-processing code out of main to its own file (Matt Corallo)
87c35f5 Remove orphan state wipe from UnloadBlockIndex. (Matt Corallo)
This commit is contained in:
Pieter Wuille 2016-12-02 18:17:25 -08:00
commit 2efcfa5acf
No known key found for this signature in database
GPG key ID: DBA1A67379A1A931
54 changed files with 3147 additions and 3081 deletions

View file

@ -9,7 +9,7 @@ define(_COPYRIGHT_YEAR, 2016)
define(_COPYRIGHT_HOLDERS,[The %s developers])
define(_COPYRIGHT_HOLDERS_SUBSTITUTION,[[Bitcoin Core]])
AC_INIT([Bitcoin Core],[_CLIENT_VERSION_MAJOR._CLIENT_VERSION_MINOR._CLIENT_VERSION_REVISION],[https://github.com/bitcoin/bitcoin/issues],[bitcoin],[https://bitcoincore.org/])
AC_CONFIG_SRCDIR([src/main.cpp])
AC_CONFIG_SRCDIR([src/validation.cpp])
AC_CONFIG_HEADERS([src/config/bitcoin-config.h])
AC_CONFIG_AUX_DIR([build-aux])
AC_CONFIG_MACRO_DIR([build-aux/m4])

View file

@ -104,11 +104,11 @@ BITCOIN_CORE_H = \
keystore.h \
dbwrapper.h \
limitedmap.h \
main.h \
memusage.h \
merkleblock.h \
miner.h \
net.h \
net_processing.h \
netaddress.h \
netbase.h \
netmessagemaker.h \
@ -145,6 +145,7 @@ BITCOIN_CORE_H = \
util.h \
utilmoneystr.h \
utiltime.h \
validation.h \
validationinterface.h \
versionbits.h \
wallet/coincontrol.h \
@ -179,10 +180,10 @@ libbitcoin_server_a_SOURCES = \
httpserver.cpp \
init.cpp \
dbwrapper.cpp \
main.cpp \
merkleblock.cpp \
miner.cpp \
net.cpp \
net_processing.cpp \
noui.cpp \
policy/fees.cpp \
policy/policy.cpp \
@ -201,6 +202,7 @@ libbitcoin_server_a_SOURCES = \
txdb.cpp \
txmempool.cpp \
ui_interface.cpp \
validation.cpp \
validationinterface.cpp \
versionbits.cpp \
$(BITCOIN_CORE_H)

View file

@ -3,7 +3,7 @@
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
#include "bench.h"
#include "main.h"
#include "validation.h"
#include "utiltime.h"
// Sanity test: this should loop ten times, and

View file

@ -4,7 +4,7 @@
#include "bench.h"
#include "main.h"
#include "validation.h"
#include "base58.h"
#include <vector>

View file

@ -5,7 +5,7 @@
#include "bench.h"
#include "key.h"
#include "main.h"
#include "validation.h"
#include "util.h"
int

View file

@ -5,7 +5,8 @@
#include "bench.h"
#include "chainparams.h"
#include "main.h"
#include "validation.h"
#include "streams.h"
#include "consensus/validation.h"
namespace block_bench {

View file

@ -10,7 +10,7 @@
#include "random.h"
#include "streams.h"
#include "txmempool.h"
#include "main.h"
#include "validation.h"
#include "util.h"
#include <unordered_map>

View file

@ -6,7 +6,7 @@
#include "chain.h"
#include "chainparams.h"
#include "main.h"
#include "validation.h"
#include "uint256.h"
#include <stdint.h>

View file

@ -19,10 +19,11 @@
#include "httpserver.h"
#include "httprpc.h"
#include "key.h"
#include "main.h"
#include "validation.h"
#include "miner.h"
#include "netbase.h"
#include "net.h"
#include "net_processing.h"
#include "policy/policy.h"
#include "rpc/server.h"
#include "rpc/register.h"

View file

@ -13,7 +13,7 @@
#include "consensus/merkle.h"
#include "consensus/validation.h"
#include "hash.h"
#include "main.h"
#include "validation.h"
#include "net.h"
#include "policy/policy.h"
#include "pow.h"

3026
src/net_processing.cpp Normal file

File diff suppressed because it is too large Load diff

51
src/net_processing.h Normal file
View file

@ -0,0 +1,51 @@
// Copyright (c) 2009-2010 Satoshi Nakamoto
// Copyright (c) 2009-2015 The Bitcoin Core developers
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
#ifndef BITCOIN_NET_PROCESSING_H
#define BITCOIN_NET_PROCESSING_H
#include "net.h"
#include "validationinterface.h"
/** Register with a network node to receive its signals */
void RegisterNodeSignals(CNodeSignals& nodeSignals);
/** Unregister a network node */
void UnregisterNodeSignals(CNodeSignals& nodeSignals);
class PeerLogicValidation : public CValidationInterface {
private:
CConnman* connman;
public:
PeerLogicValidation(CConnman* connmanIn);
virtual void SyncTransaction(const CTransaction& tx, const CBlockIndex* pindex, int nPosInBlock);
virtual void UpdatedBlockTip(const CBlockIndex *pindexNew, const CBlockIndex *pindexFork, bool fInitialDownload);
virtual void BlockChecked(const CBlock& block, const CValidationState& state);
};
struct CNodeStateStats {
int nMisbehavior;
int nSyncHeight;
int nCommonHeight;
std::vector<int> vHeightInFlight;
};
/** Get statistics from node state */
bool GetNodeStateStats(NodeId nodeid, CNodeStateStats &stats);
/** Increase a node's misbehavior score. */
void Misbehaving(NodeId nodeid, int howmuch);
/** Process protocol messages received from a given node */
bool ProcessMessages(CNode* pfrom, CConnman& connman);
/**
* Send queued protocol messages to be sent to a give node.
*
* @param[in] pto The node which we are sending messages to.
* @param[in] connman The connection manager for that node.
*/
bool SendMessages(CNode* pto, CConnman& connman);
#endif // BITCOIN_NET_PROCESSING_H

View file

@ -7,7 +7,7 @@
#include "policy/policy.h"
#include "main.h"
#include "validation.h"
#include "tinyformat.h"
#include "util.h"
#include "utilstrencodings.h"

View file

@ -12,6 +12,7 @@
#include "chainparams.h"
#include "checkpoints.h"
#include "clientversion.h"
#include "validation.h"
#include "net.h"
#include "txmempool.h"
#include "ui_interface.h"

View file

@ -15,7 +15,7 @@
#include "wallet/coincontrol.h"
#include "init.h"
#include "main.h" // For minRelayTxFee
#include "validation.h" // For minRelayTxFee
#include "wallet/wallet.h"
#include <boost/assign/list_of.hpp> // for 'map_list_of()'

View file

@ -11,7 +11,7 @@
#include "primitives/transaction.h"
#include "init.h"
#include "main.h" // For minRelayTxFee
#include "validation.h" // For minRelayTxFee
#include "protocol.h"
#include "script/script.h"
#include "script/standard.h"

View file

@ -13,7 +13,7 @@
#include "guiutil.h"
#include "optionsmodel.h"
#include "main.h" // for DEFAULT_SCRIPTCHECK_THREADS and MAX_SCRIPTCHECK_THREADS
#include "validation.h" // for DEFAULT_SCRIPTCHECK_THREADS and MAX_SCRIPTCHECK_THREADS
#include "netbase.h"
#include "txdb.h" // for -dbcache defaults

View file

@ -13,7 +13,7 @@
#include "amount.h"
#include "init.h"
#include "main.h" // For DEFAULT_SCRIPTCHECK_THREADS
#include "validation.h" // For DEFAULT_SCRIPTCHECK_THREADS
#include "net.h"
#include "netbase.h"
#include "txdb.h" // for -dbcache defaults

View file

@ -10,7 +10,7 @@
#include "base58.h"
#include "chainparams.h"
#include "main.h" // For minRelayTxFee
#include "validation.h" // For minRelayTxFee
#include "ui_interface.h"
#include "util.h"
#include "wallet/wallet.h"

View file

@ -8,6 +8,7 @@
#include "guiconstants.h"
#include "guiutil.h"
#include "validation.h" // for cs_main
#include "sync.h"
#include <QDebug>

View file

@ -5,7 +5,7 @@
#ifndef BITCOIN_QT_PEERTABLEMODEL_H
#define BITCOIN_QT_PEERTABLEMODEL_H
#include "main.h" // For CNodeStateStats
#include "net_processing.h" // For CNodeStateStats
#include "net.h"
#include <QAbstractTableModel>

View file

@ -17,7 +17,7 @@
#include "base58.h"
#include "wallet/coincontrol.h"
#include "main.h" // mempool and minRelayTxFee
#include "validation.h" // mempool and minRelayTxFee
#include "ui_interface.h"
#include "txmempool.h"
#include "wallet/wallet.h"

View file

@ -12,7 +12,7 @@
#include "base58.h"
#include "init.h"
#include "main.h" // For strMessageMagic
#include "validation.h" // For strMessageMagic
#include "wallet/wallet.h"
#include <string>

View file

@ -6,7 +6,7 @@
#include "chainparams.h"
#include "consensus/validation.h"
#include "main.h"
#include "validation.h"
#include "rpc/register.h"
#include "rpc/server.h"
#include "rpcconsole.h"

View file

@ -11,7 +11,7 @@
#include "base58.h"
#include "consensus/consensus.h"
#include "main.h"
#include "validation.h"
#include "script/script.h"
#include "timedata.h"
#include "util.h"

View file

@ -6,7 +6,7 @@
#include "base58.h"
#include "consensus/consensus.h"
#include "main.h"
#include "validation.h"
#include "timedata.h"
#include "wallet/wallet.h"

View file

@ -14,7 +14,7 @@
#include "walletmodel.h"
#include "core_io.h"
#include "main.h"
#include "validation.h"
#include "sync.h"
#include "uint256.h"
#include "util.h"

View file

@ -14,9 +14,11 @@
#include "base58.h"
#include "keystore.h"
#include "main.h"
#include "validation.h"
#include "net.h" // for g_connman
#include "sync.h"
#include "ui_interface.h"
#include "util.h" // for GetBoolArg
#include "wallet/wallet.h"
#include "wallet/walletdb.h" // for BackupWallet

View file

@ -7,7 +7,7 @@
#include "chainparams.h"
#include "primitives/block.h"
#include "primitives/transaction.h"
#include "main.h"
#include "validation.h"
#include "httpserver.h"
#include "rpc/server.h"
#include "streams.h"

View file

@ -9,7 +9,7 @@
#include "checkpoints.h"
#include "coins.h"
#include "consensus/validation.h"
#include "main.h"
#include "validation.h"
#include "policy/policy.h"
#include "primitives/transaction.h"
#include "rpc/server.h"

View file

@ -12,7 +12,7 @@
#include "consensus/validation.h"
#include "core_io.h"
#include "init.h"
#include "main.h"
#include "validation.h"
#include "miner.h"
#include "net.h"
#include "pow.h"

View file

@ -6,7 +6,7 @@
#include "base58.h"
#include "clientversion.h"
#include "init.h"
#include "main.h"
#include "validation.h"
#include "net.h"
#include "netbase.h"
#include "rpc/server.h"

View file

@ -6,8 +6,9 @@
#include "chainparams.h"
#include "clientversion.h"
#include "main.h"
#include "validation.h"
#include "net.h"
#include "net_processing.h"
#include "netbase.h"
#include "protocol.h"
#include "sync.h"

View file

@ -10,7 +10,7 @@
#include "core_io.h"
#include "init.h"
#include "keystore.h"
#include "main.h"
#include "validation.h"
#include "merkleblock.h"
#include "net.h"
#include "policy/policy.h"

View file

@ -6,8 +6,8 @@
#include "chainparams.h"
#include "keystore.h"
#include "main.h"
#include "net.h"
#include "net_processing.h"
#include "pow.h"
#include "script/sign.h"
#include "serialize.h"

View file

@ -8,7 +8,7 @@
#include "utilstrencodings.h"
#include "test/test_bitcoin.h"
#include "test/test_random.h"
#include "main.h"
#include "validation.h"
#include "consensus/validation.h"
#include <vector>

View file

@ -3,7 +3,8 @@
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
#include "chainparams.h"
#include "main.h"
#include "validation.h"
#include "net.h"
#include "test/test_bitcoin.h"

View file

@ -7,7 +7,7 @@
#include "consensus/consensus.h"
#include "consensus/merkle.h"
#include "consensus/validation.h"
#include "main.h"
#include "validation.h"
#include "miner.h"
#include "pubkey.h"
#include "script/standard.h"

View file

@ -5,7 +5,7 @@
#include "core_io.h"
#include "key.h"
#include "keystore.h"
#include "main.h"
#include "validation.h"
#include "policy/policy.h"
#include "script/script.h"
#include "script/script_error.h"

View file

@ -5,7 +5,7 @@
#include "consensus/validation.h"
#include "data/sighash.json.h"
#include "hash.h"
#include "main.h" // For CheckTransaction
#include "validation.h" // For CheckTransaction
#include "script/interpreter.h"
#include "script/script.h"
#include "serialize.h"

View file

@ -2,7 +2,7 @@
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
#include "main.h"
#include "validation.h"
#include "pubkey.h"
#include "key.h"
#include "script/script.h"

View file

@ -10,8 +10,9 @@
#include "consensus/consensus.h"
#include "consensus/validation.h"
#include "key.h"
#include "main.h"
#include "validation.h"
#include "miner.h"
#include "net_processing.h"
#include "pubkey.h"
#include "random.h"
#include "txdb.h"

View file

@ -12,7 +12,7 @@
#include "core_io.h"
#include "key.h"
#include "keystore.h"
#include "main.h" // For CheckTransaction
#include "validation.h" // For CheckTransaction
#include "policy/policy.h"
#include "script/script.h"
#include "script/sign.h"

View file

@ -4,7 +4,7 @@
#include "consensus/validation.h"
#include "key.h"
#include "main.h"
#include "validation.h"
#include "miner.h"
#include "pubkey.h"
#include "txmempool.h"

View file

@ -7,7 +7,7 @@
#include "test/test_bitcoin.h"
#include "test/test_random.h"
#include "chainparams.h"
#include "main.h"
#include "validation.h"
#include "consensus/params.h"
#include <boost/test/unit_test.hpp>

View file

@ -8,7 +8,7 @@
#include "clientversion.h"
#include "consensus/consensus.h"
#include "consensus/validation.h"
#include "main.h"
#include "validation.h"
#include "policy/policy.h"
#include "policy/fees.h"
#include "streams.h"

File diff suppressed because it is too large Load diff

View file

@ -3,8 +3,8 @@
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
#ifndef BITCOIN_MAIN_H
#define BITCOIN_MAIN_H
#ifndef BITCOIN_VALIDATION_H
#define BITCOIN_VALIDATION_H
#if defined(HAVE_CONFIG_H)
#include "config/bitcoin-config.h"
@ -13,10 +13,9 @@
#include "amount.h"
#include "chain.h"
#include "coins.h"
#include "net.h"
#include "protocol.h" // For CMessageHeader::MessageStartChars
#include "script/script_error.h"
#include "sync.h"
#include "validationinterface.h"
#include "versionbits.h"
#include <algorithm>
@ -28,7 +27,10 @@
#include <utility>
#include <vector>
#include <atomic>
#include <boost/unordered_map.hpp>
#include <boost/filesystem/path.hpp>
class CBlockIndex;
class CBlockTreeDB;
@ -560,46 +562,4 @@ void DumpMempool();
/** Load the mempool from disk. */
bool LoadMempool();
// The following things handle network-processing logic
// (and should be moved to a separate file)
/** Register with a network node to receive its signals */
void RegisterNodeSignals(CNodeSignals& nodeSignals);
/** Unregister a network node */
void UnregisterNodeSignals(CNodeSignals& nodeSignals);
class PeerLogicValidation : public CValidationInterface {
private:
CConnman* connman;
public:
PeerLogicValidation(CConnman* connmanIn);
virtual void SyncTransaction(const CTransaction& tx, const CBlockIndex* pindex, int nPosInBlock);
virtual void UpdatedBlockTip(const CBlockIndex *pindexNew, const CBlockIndex *pindexFork, bool fInitialDownload);
virtual void BlockChecked(const CBlock& block, const CValidationState& state);
};
struct CNodeStateStats {
int nMisbehavior;
int nSyncHeight;
int nCommonHeight;
std::vector<int> vHeightInFlight;
};
/** Get statistics from node state */
bool GetNodeStateStats(NodeId nodeid, CNodeStateStats &stats);
/** Increase a node's misbehavior score. */
void Misbehaving(NodeId nodeid, int howmuch);
/** Process protocol messages received from a given node */
bool ProcessMessages(CNode* pfrom, CConnman& connman);
/**
* Send queued protocol messages to be sent to a give node.
*
* @param[in] pto The node which we are sending messages to.
* @param[in] connman The connection manager for that node.
*/
bool SendMessages(CNode* pto, CConnman& connman);
#endif // BITCOIN_MAIN_H
#endif // BITCOIN_VALIDATION_H

View file

@ -6,7 +6,7 @@
#include "chain.h"
#include "rpc/server.h"
#include "init.h"
#include "main.h"
#include "validation.h"
#include "script/script.h"
#include "script/standard.h"
#include "sync.h"

View file

@ -9,7 +9,7 @@
#include "consensus/validation.h"
#include "core_io.h"
#include "init.h"
#include "main.h"
#include "validation.h"
#include "net.h"
#include "policy/rbf.h"
#include "rpc/server.h"

View file

@ -13,7 +13,7 @@
#include "consensus/validation.h"
#include "key.h"
#include "keystore.h"
#include "main.h"
#include "validation.h"
#include "net.h"
#include "policy/policy.h"
#include "primitives/block.h"

View file

@ -7,7 +7,7 @@
#include "base58.h"
#include "consensus/validation.h"
#include "main.h" // For CheckTransaction
#include "validation.h" // For CheckTransaction
#include "protocol.h"
#include "serialize.h"
#include "sync.h"

View file

@ -6,7 +6,7 @@
#include "zmqpublishnotifier.h"
#include "version.h"
#include "main.h"
#include "validation.h"
#include "streams.h"
#include "util.h"

View file

@ -3,8 +3,9 @@
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
#include "chainparams.h"
#include "streams.h"
#include "zmqpublishnotifier.h"
#include "main.h"
#include "validation.h"
#include "util.h"
static std::multimap<std::string, CZMQAbstractPublishNotifier*> mapPublishNotifiers;