aboutsummaryrefslogtreecommitdiff
path: root/src/protocol.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/protocol.h')
-rw-r--r--src/protocol.h14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/protocol.h b/src/protocol.h
index 452b5b28ce..42eb57e4f0 100644
--- a/src/protocol.h
+++ b/src/protocol.h
@@ -291,7 +291,15 @@ enum ServiceFlags : uint64_t {
* unless they set NODE_NETWORK_LIMITED and we are out of IBD, in which
* case NODE_NETWORK_LIMITED suffices).
*
- * Thus, generally, avoid calling with peerServices == NODE_NONE.
+ * Thus, generally, avoid calling with peerServices == NODE_NONE, unless
+ * state-specific flags must absolutely be avoided. When called with
+ * peerServices == NODE_NONE, the returned desirable service flags are
+ * guaranteed to not change dependent on state - ie they are suitable for
+ * use when describing peers which we know to be desirable, but for which
+ * we do not have a confirmed set of service flags.
+ *
+ * If the NODE_NONE return value is changed, contrib/seeds/makeseeds.py
+ * should be updated appropriately to filter for the same nodes.
*/
static ServiceFlags GetDesirableServiceFlags(ServiceFlags services) {
return ServiceFlags(NODE_NETWORK | NODE_WITNESS);
@@ -338,8 +346,8 @@ public:
READWRITE(nTime);
uint64_t nServicesInt = nServices;
READWRITE(nServicesInt);
- nServices = (ServiceFlags)nServicesInt;
- READWRITE(*(CService*)this);
+ nServices = static_cast<ServiceFlags>(nServicesInt);
+ READWRITE(*static_cast<CService*>(this));
}
// TODO: make private (improves encapsulation)