nodelist: Rewrite router_crn_flags_t

Re-order the flags in a logical order, and re-number them.
Add missing comments, fix comment typos.

Part of 34200.
This commit is contained in:
teor 2020-05-11 17:42:05 +10:00
parent 48413dc65f
commit 2ea1692c20

View File

@ -14,22 +14,26 @@
/** Flags to be passed to control router_choose_random_node() to indicate what /** Flags to be passed to control router_choose_random_node() to indicate what
* kind of nodes to pick according to what algorithm. */ * kind of nodes to pick according to what algorithm. */
typedef enum router_crn_flags_t { typedef enum router_crn_flags_t {
/* Try to choose stable nodes. */
CRN_NEED_UPTIME = 1<<0, CRN_NEED_UPTIME = 1<<0,
/* Try to choose nodes with a reasonable amount of bandwidth. */
CRN_NEED_CAPACITY = 1<<1, CRN_NEED_CAPACITY = 1<<1,
CRN_NEED_GUARD = 1<<2, /* Only choose nodes if we have downloaded their descriptor or
/* XXXX not used, apparently. */ * microdescriptor. */
CRN_WEIGHT_AS_EXIT = 1<<5, CRN_NEED_DESC = 1<<2,
CRN_NEED_DESC = 1<<6, /* Choose nodes that can be used as Guard relays. */
/* On clients, only provide nodes that satisfy ClientPreferIPv6OR */ CRN_NEED_GUARD = 1<<3,
CRN_PREF_ADDR = 1<<7,
/* On clients, only provide nodes that we can connect to directly, based on /* On clients, only provide nodes that we can connect to directly, based on
* our firewall rules */ * our firewall rules. */
CRN_DIRECT_CONN = 1<<8, CRN_DIRECT_CONN = 1<<4,
/* On clients, only provide nodes with HSRend >= 2 protocol version which /* On clients, if choosing a node for a direct connection, only provide
* is required for hidden service version >= 3. */ * nodes that satisfy ClientPreferIPv6OR. */
CRN_RENDEZVOUS_V3 = 1<<9, CRN_PREF_ADDR = 1<<5,
/* On clients, only provide nodes with HSRend=2 protocol version which
* is required for hidden service version 3. */
CRN_RENDEZVOUS_V3 = 1<<6,
/* On clients, only provide nodes that can initiate IPv6 extends. */ /* On clients, only provide nodes that can initiate IPv6 extends. */
CRN_INITIATE_IPV6_EXTEND = 1<<10, CRN_INITIATE_IPV6_EXTEND = 1<<7,
} router_crn_flags_t; } router_crn_flags_t;
/** Possible ways to weight routers when choosing one randomly. See /** Possible ways to weight routers when choosing one randomly. See