![]() |
Bitcoin ABC 0.32.4
P2P Digital Currency
|
#include <avalanche/proofid.h>#include <avalanche/proofradixtreeadapter.h>#include <chainparams.h>#include <common/bloom.h>#include <compat.h>#include <consensus/amount.h>#include <crypto/siphash.h>#include <hash.h>#include <i2p.h>#include <kernel/cs_main.h>#include <logging.h>#include <net_permissions.h>#include <netaddress.h>#include <netbase.h>#include <node/connection_types.h>#include <node/eviction.h>#include <nodeid.h>#include <protocol.h>#include <pubkey.h>#include <radix.h>#include <random.h>#include <span.h>#include <streams.h>#include <sync.h>#include <uint256.h>#include <util/check.h>#include <util/sock.h>#include <util/time.h>#include <atomic>#include <condition_variable>#include <cstdint>#include <deque>#include <functional>#include <list>#include <map>#include <memory>#include <thread>#include <vector>Go to the source code of this file.
Classes | |
| struct | AddedNodeInfo |
| struct | CSerializedNetMsg |
| struct | LocalServiceInfo |
| struct | CNodeStats |
| POD that contains various stats about a node. More... | |
| class | CNetMessage |
| Transport protocol agnostic message container. More... | |
| class | TransportDeserializer |
| The TransportDeserializer takes care of holding and deserializing the network receive buffer. More... | |
| class | V1TransportDeserializer |
| class | TransportSerializer |
| The TransportSerializer prepares messages for the network transport. More... | |
| class | V1TransportSerializer |
| 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... | |
| 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 std::map< std::string, uint64_t > | mapMsgTypeSize |
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 () |
| bool | IsPeerAddrLocalGood (CNode *pnode) |
| std::optional< CService > | GetLocalAddrForPeer (CNode &node) |
| Returns a local address that we should advertise to this peer. More... | |
| void | SetReachable (enum Network net, bool reachable) |
| Mark a network as reachable or unreachable (no automatic connects to it) More... | |
| bool | IsReachable (enum Network net) |
| bool | IsReachable (const CNetAddr &addr) |
| 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... | |
| bool | GetLocal (CService &addr, const CNetAddr *paddrPeer=nullptr) |
| CService | GetLocalAddress (const CNetAddr &addrPeer) |
| std::map< CNetAddr, LocalServiceInfo > mapLocalHost | GUARDED_BY (g_maplocalhost_mutex) |
| std::string | getSubVersionEB (uint64_t MaxBlockSize) |
| This function convert MaxBlockSize from byte to MB with a decimal precision one digit rounded down E.g. More... | |
| std::string | userAgent (const Config &config) |
| void | CaptureMessageToFile (const CAddress &addr, const std::string &msg_type, Span< const uint8_t > data, bool is_incoming) |
| Dump binary message to file, with timestamp. More... | |
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_SUBVERSION_LENGTH = 256 |
Maximum length of the user agent string in version message. More... | |
| static const int | MAX_OUTBOUND_FULL_RELAY_CONNECTIONS = 16 |
| 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 | DEFAULT_MAX_AVALANCHE_OUTBOUND_CONNECTIONS = 300 |
| Maximum number of avalanche enabled outgoing connections by default. 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 = 4096 |
| The maximum number of peer connections to maintain. More... | |
| static constexpr uint64_t | DEFAULT_MAX_UPLOAD_TARGET = 0 |
| 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 const bool | DEFAULT_FORCEDNSSEED = false |
| static const bool | DEFAULT_DNSSEED = true |
| static const bool | DEFAULT_FIXEDSEEDS = true |
| static const size_t | DEFAULT_MAXRECEIVEBUFFER = 5 * 1000 |
| static const size_t | DEFAULT_MAXSENDBUFFER = 1 * 1000 |
| const std::vector< std::string > | CONNECTION_TYPE_DOC |
| bool | fDiscover |
| bool | fListen |
| GlobalMutex | g_maplocalhost_mutex |
| const std::string | NET_MESSAGE_TYPE_OTHER |
| std::function< void(const CAddress &addr, const std::string &msg_type, Span< const uint8_t > data, bool is_incoming)> | CaptureMessage |
Defaults to CaptureMessageToFile(), but can be overridden by unit tests. More... | |
| typedef std::map< std::string, uint64_t> mapMsgTypeSize |
| anonymous enum |
| bool AddLocal | ( | const CNetAddr & | addr, |
| int | nScore = LOCAL_NONE |
||
| ) |
| bool AddLocal | ( | const CService & | addr, |
| int | nScore = LOCAL_NONE |
||
| ) |
| void Discover | ( | ) |
Look up IP addresses from all interfaces on the machine and add them to the list of local addresses to self-advertise.
The loopback interface is skipped and only the first address from each interface is used.
Definition at line 2299 of file net.cpp.
| uint16_t GetListenPort | ( | ) |
| std::string getSubVersionEB | ( | uint64_t | MaxBlockSize | ) |
This function convert MaxBlockSize from byte to MB with a decimal precision one digit rounded down E.g.
1660000 -> 1.6 2010000 -> 2.0 1000000 -> 1.0 230000 -> 0.2 50000 -> 0.0
NB behavior for EB<1MB not standardized yet still the function applies the same algo used for EB greater or equal to 1MB
Definition at line 3123 of file net.cpp.
| std::map< CNetAddr, LocalServiceInfo > mapLocalHost GUARDED_BY | ( | g_maplocalhost_mutex | ) |
| bool IsLocal | ( | const CService & | addr | ) |
| bool IsPeerAddrLocalGood | ( | CNode * | pnode | ) |
| bool IsReachable | ( | const CNetAddr & | addr | ) |
| bool IsReachable | ( | enum Network | net | ) |
| void RemoveLocal | ( | const CService & | addr | ) |
| bool SeenLocal | ( | const CService & | addr | ) |
| void SetReachable | ( | enum Network | net, |
| bool | reachable | ||
| ) |
| std::string userAgent | ( | const Config & | config | ) |
|
extern |
Defaults to CaptureMessageToFile(), but can be overridden by unit tests.
| const std::vector<std::string> CONNECTION_TYPE_DOC |
|
static |
|
static |
|
static |
|
staticconstexpr |
|
static |
|
staticconstexpr |
|
staticconstexpr |
|
extern |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |