![]() |
Bitcoin ABC 0.32.4
P2P Digital Currency
|
#include <string>Go to the source code of this file.
Enumerations | |
| enum class | ConnectionType { INBOUND , OUTBOUND_FULL_RELAY , MANUAL , FEELER , BLOCK_RELAY , ADDR_FETCH , AVALANCHE_OUTBOUND } |
| Different types of connections to a peer. More... | |
Functions | |
| std::string | ConnectionTypeAsString (ConnectionType conn_type) |
| Convert ConnectionType enum to a string value. More... | |
|
strong |
Different types of connections to a peer.
This enum encapsulates the information we have available at the time of opening or accepting the connection. Aside from INBOUND, all types are initiated by us.
| Enumerator | |
|---|---|
| INBOUND | Inbound connections are those initiated by a peer. This is the only property we know at the time of connection, until P2P messages are exchanged. |
| OUTBOUND_FULL_RELAY | These are the default connections that we use to connect with the network. There is no restriction on what is relayed- by default we relay blocks, addresses & transactions. We automatically attempt to open MAX_OUTBOUND_FULL_RELAY_CONNECTIONS using addresses from our AddrMan. |
| MANUAL | We open manual connections to addresses that users explicitly inputted via the addnode RPC, or the -connect command line argument. Even if a manual connection is misbehaving, we do not automatically disconnect or add it to our discouragement filter. |
| FEELER | Feeler connections are short-lived connections made to check that a node is alive. They can be useful for:
|
| BLOCK_RELAY | We use block-relay-only connections to help prevent against partition attacks. By not relaying transactions or addresses, these connections are harder to detect by a third party, thus helping obfuscate the network topology. We automatically attempt to open MAX_BLOCK_RELAY_ONLY_ANCHORS using addresses from our anchors.dat. Then addresses from our AddrMan if MAX_BLOCK_RELAY_ONLY_CONNECTIONS isn't reached yet. |
| ADDR_FETCH | AddrFetch connections are short lived connections used to solicit addresses from peers. These are initiated to addresses submitted via the -seednode command line argument, or under certain conditions when the AddrMan is empty. |
| AVALANCHE_OUTBOUND | Special case of connection to a full relay outbound with avalanche service enabled. |
Definition at line 15 of file connection_types.h.
| std::string ConnectionTypeAsString | ( | ConnectionType | conn_type | ) |
Convert ConnectionType enum to a string value.
Definition at line 8 of file connection_types.cpp.