6 #ifndef BITCOIN_NET_PROCESSING_H 7 #define BITCOIN_NET_PROCESSING_H 87 const std::chrono::microseconds time_received,
const std::atomic<bool>& interruptMsgProc) = 0;
93 #endif // BITCOIN_NET_PROCESSING_H
ServiceFlags
nServices flags
virtual void StartScheduledTasks(CScheduler &scheduler)=0
Begin running background tasks, should only be called once.
uint64_t m_addr_rate_limited
virtual void UnitTestMisbehaving(NodeId peer_id, int howmuch)=0
Provides an interface for creating and interacting with one or two chainstates: an IBD chainstate gen...
virtual void UpdateLastBlockAnnounceTime(NodeId node, int64_t time_in_seconds)=0
This function is used for testing the stale tip eviction logic, see denialofservice_tests.cpp.
Interface for message handling.
CChainParams defines various tweakable parameters of a given instance of the Bitcoin system...
Double ended buffer combining vector and stream-like interfaces.
Implement this to subscribe to events generated in validation.
Stochastic address manager.
static const bool DEFAULT_PEERBLOCKFILTERS
int64_t CAmount
Amount in satoshis (Can be negative)
static std::unique_ptr< PeerManager > make(CConnman &connman, AddrMan &addrman, BanMan *banman, ChainstateManager &chainman, CTxMemPool &pool, bool ignore_incoming_txs)
CAmount m_fee_filter_received
uint64_t m_addr_processed
virtual void ProcessMessage(CNode &pfrom, const std::string &msg_type, CDataStream &vRecv, const std::chrono::microseconds time_received, const std::atomic< bool > &interruptMsgProc)=0
Process a single message from a peer.
virtual bool IgnoresIncomingTxs()=0
Whether this node ignores txs received over p2p.
static const int DISCOURAGEMENT_THRESHOLD
Threshold for marking a node to be discouraged, e.g.
virtual std::optional< std::string > FetchBlock(NodeId peer_id, const CBlockIndex &block_index)=0
Attempt to manually fetch block from a given peer.
std::chrono::microseconds m_ping_wait
ServiceFlags their_services
static const bool DEFAULT_PEERBLOOMFILTERS
virtual void CheckForStaleTipAndEvictPeers()=0
Evict extra outbound peers.
virtual bool GetNodeStateStats(NodeId nodeid, CNodeStateStats &stats) const =0
Get statistics from node state.
CTxMemPool stores valid-according-to-the-current-best-chain transactions that may be included in the ...
virtual void SendPings()=0
Send ping message to all peers.
The block chain is a tree shaped structure starting with the genesis block at the root...
virtual void RelayTransaction(const uint256 &txid, const uint256 &wtxid)=0
Relay transaction to all peers.
static const unsigned int DEFAULT_BLOCK_RECONSTRUCTION_EXTRA_TXN
Default number of orphan+recently-replaced txn to keep around for block reconstruction.
virtual void SetBestHeight(int height)=0
Set the best height.
Information about a peer.
std::vector< int > vHeightInFlight
Simple class for background tasks that should be run periodically or once "after a while"...
static const unsigned int DEFAULT_MAX_ORPHAN_TRANSACTIONS
Default for -maxorphantx, maximum number of orphan transactions kept in memory.
bool m_addr_relay_enabled