![]() |
Bitcoin Core 30.99.0
P2P Digital Currency
|
#include <bip324.h>#include <chainparams.h>#include <common/bloom.h>#include <compat/compat.h>#include <consensus/amount.h>#include <crypto/siphash.h>#include <hash.h>#include <i2p.h>#include <kernel/messagestartchars.h>#include <net_permissions.h>#include <netaddress.h>#include <netbase.h>#include <netgroup.h>#include <node/connection_types.h>#include <node/protocol_version.h>#include <policy/feerate.h>#include <protocol.h>#include <random.h>#include <semaphore_grant.h>#include <span.h>#include <streams.h>#include <sync.h>#include <uint256.h>#include <util/check.h>#include <util/sock.h>#include <util/threadinterrupt.h>#include <atomic>#include <condition_variable>#include <cstdint>#include <deque>#include <functional>#include <list>#include <map>#include <memory>#include <optional>#include <queue>#include <thread>#include <unordered_set>#include <vector>Go to the source code of this file.
Classes | |
| struct | AddedNodeParams |
| struct | AddedNodeInfo |
| struct | CSerializedNetMsg |
| struct | LocalServiceInfo |
| class | CNodeStats |
| class | CNetMessage |
| Transport protocol agnostic message container. More... | |
| class | Transport |
| The Transport converts one connection's sent messages to wire bytes, and received bytes back. More... | |
| struct | Transport::Info |
| class | V1Transport |
| class | V2Transport |
| struct | CNodeOptions |
| class | CNode |
| Information about a peer. More... | |
| class | NetEventsInterface |
| Interface for message handling. More... | |
| class | CConnman |
| struct | CConnman::Options |
| struct | CConnman::ListenSocket |
| struct | CConnman::CachedAddrResponse |
| Cache responses to addr requests to minimize privacy leak. More... | |
| struct | CConnman::ReconnectionInfo |
| Struct for entries in m_reconnections. More... | |
| class | CConnman::NodesSnapshot |
RAII helper to atomically create a copy of m_nodes and add a reference to each of the nodes. More... | |
Typedefs | |
| typedef int64_t | NodeId |
| using | mapMsgTypeSize = std::map< std::string, uint64_t > |
Enumerations | |
| enum | { LOCAL_NONE , LOCAL_IF , LOCAL_BIND , LOCAL_MAPPED , LOCAL_MANUAL , LOCAL_MAX } |
Functions | |
| void | Discover () |
| Look up IP addresses from all interfaces on the machine and add them to the list of local addresses to self-advertise. More... | |
| uint16_t | GetListenPort () |
| std::optional< CService > | GetLocalAddrForPeer (CNode &node) |
| Returns a local address that we should advertise to this peer. More... | |
| void | ClearLocal () |
| bool | AddLocal (const CService &addr, int nScore=LOCAL_NONE) |
| bool | AddLocal (const CNetAddr &addr, int nScore=LOCAL_NONE) |
| void | RemoveLocal (const CService &addr) |
| bool | SeenLocal (const CService &addr) |
| vote for a local address More... | |
| bool | IsLocal (const CService &addr) |
| check whether a given address is potentially local More... | |
| CService | GetLocalAddress (const CNode &peer) |
| std::map< CNetAddr, LocalServiceInfo > mapLocalHost | GUARDED_BY (g_maplocalhost_mutex) |
Variables | |
| static constexpr std::chrono::minutes | TIMEOUT_INTERVAL {20} |
| Time after which to disconnect, after waiting for a ping response (or inactivity). More... | |
| static constexpr auto | FEELER_INTERVAL = 2min |
| Run the feeler connection loop once every 2 minutes. More... | |
| static constexpr auto | EXTRA_BLOCK_RELAY_ONLY_PEER_INTERVAL = 5min |
| Run the extra block-relay-only connection loop once every 5 minutes. More... | |
| static const unsigned int | MAX_PROTOCOL_MESSAGE_LENGTH = 4 * 1000 * 1000 |
| Maximum length of incoming protocol messages (no message over 4 MB is currently acceptable). More... | |
| static const unsigned int | MAX_SUBVERSION_LENGTH = 256 |
Maximum length of the user agent string in version message. More... | |
| static const int | MAX_OUTBOUND_FULL_RELAY_CONNECTIONS = 8 |
| Maximum number of automatic outgoing nodes over which we'll relay everything (blocks, tx, addrs, etc) More... | |
| static const int | MAX_ADDNODE_CONNECTIONS = 8 |
| Maximum number of addnode outgoing nodes. More... | |
| static const int | MAX_BLOCK_RELAY_ONLY_CONNECTIONS = 2 |
| Maximum number of block-relay-only outgoing connections. More... | |
| static const int | MAX_FEELER_CONNECTIONS = 1 |
| Maximum number of feeler connections. More... | |
| static const bool | DEFAULT_LISTEN = true |
| -listen default More... | |
| static const unsigned int | DEFAULT_MAX_PEER_CONNECTIONS = 125 |
| The maximum number of peer connections to maintain. More... | |
| static const std::string | DEFAULT_MAX_UPLOAD_TARGET {"0M"} |
| The default for -maxuploadtarget. More... | |
| static const bool | DEFAULT_BLOCKSONLY = false |
| Default for blocks only. More... | |
| static const int64_t | DEFAULT_PEER_CONNECT_TIMEOUT = 60 |
| -peertimeout default More... | |
| static const int | NUM_FDS_MESSAGE_CAPTURE = 1 |
| Number of file descriptors required for message capture. More... | |
| static constexpr std::chrono::hours | ASMAP_HEALTH_CHECK_INTERVAL {24} |
| Interval for ASMap Health Check. More... | |
| static constexpr bool | DEFAULT_FORCEDNSSEED {false} |
| static constexpr bool | DEFAULT_DNSSEED {true} |
| static constexpr bool | DEFAULT_FIXEDSEEDS {true} |
| static const size_t | DEFAULT_MAXRECEIVEBUFFER = 5 * 1000 |
| static const size_t | DEFAULT_MAXSENDBUFFER = 1 * 1000 |
| static constexpr bool | DEFAULT_V2_TRANSPORT {true} |
| bool | fDiscover |
| bool | fListen |
| std::string | strSubVersion |
Subversion as sent to the P2P network in version messages. More... | |
| GlobalMutex | g_maplocalhost_mutex |
| const std::string | NET_MESSAGE_TYPE_OTHER |
| std::function< void(const CAddress &addr, const std::string &msg_type, std::span< const unsigned char > data, bool is_incoming)> | CaptureMessage |
Defaults to CaptureMessageToFile(), but can be overridden by unit tests. More... | |
| using mapMsgTypeSize = std::map< std::string, uint64_t> |
| anonymous enum |
| bool AddLocal | ( | const CNetAddr & | addr, |
| int | nScore = LOCAL_NONE |
||
| ) |
| bool AddLocal | ( | const CService & | addr, |
| int | nScore = LOCAL_NONE |
||
| ) |
| void ClearLocal | ( | ) |
| void Discover | ( | ) |
| uint16_t GetListenPort | ( | ) |
| std::map< CNetAddr, LocalServiceInfo > mapLocalHost GUARDED_BY | ( | g_maplocalhost_mutex | ) |
| bool IsLocal | ( | const CService & | addr | ) |
| void RemoveLocal | ( | const CService & | addr | ) |
| bool SeenLocal | ( | const CService & | addr | ) |
|
staticconstexpr |
|
extern |
Defaults to CaptureMessageToFile(), but can be overridden by unit tests.
|
static |
|
static |
|
static |
|
static |
|
staticconstexpr |
|
staticconstexpr |
|
extern |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
extern |