diff options
author | Jonas Schnelli <dev@jonasschnelli.ch> | 2017-10-13 21:48:00 -0700 |
---|---|---|
committer | Jonas Schnelli <dev@jonasschnelli.ch> | 2018-02-09 19:56:10 +1100 |
commit | 6fe57bdaac17d49af9ec7f36c1414d5d2bcec564 (patch) | |
tree | 468056c4529bc345ea568336de7ffd17324f2daa /src/protocol.h | |
parent | 31c45a927eaac934fb237433f156907092bf1d11 (diff) |
Connect to peers signaling NODE_NETWORK_LIMITED when out-of-IBD
Diffstat (limited to 'src/protocol.h')
-rw-r--r-- | src/protocol.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/protocol.h b/src/protocol.h index ec5f55e4f6..4907c38e5c 100644 --- a/src/protocol.h +++ b/src/protocol.h @@ -15,6 +15,7 @@ #include <uint256.h> #include <version.h> +#include <atomic> #include <stdint.h> #include <string> @@ -277,6 +278,7 @@ enum ServiceFlags : uint64_t { // BIP process. }; +extern std::atomic<bool> g_initial_block_download_completed; /** * Gets the set of service flags which are "desirable" for a given peer. * @@ -302,6 +304,9 @@ enum ServiceFlags : uint64_t { * should be updated appropriately to filter for the same nodes. */ static ServiceFlags GetDesirableServiceFlags(ServiceFlags services) { + if ((services & NODE_NETWORK_LIMITED) && g_initial_block_download_completed) { + return ServiceFlags(NODE_NETWORK_LIMITED | NODE_WITNESS); + } return ServiceFlags(NODE_NETWORK | NODE_WITNESS); } |