tor  0.4.2.1-alpha-dev
Data Fields
routerstatus_t Struct Reference

#include <routerstatus_st.h>

Data Fields

time_t published_on
 
char nickname [MAX_NICKNAME_LEN+1]
 
char identity_digest [DIGEST_LEN]
 
char descriptor_digest [DIGEST256_LEN]
 
uint32_t addr
 
uint16_t or_port
 
uint16_t dir_port
 
tor_addr_t ipv6_addr
 
uint16_t ipv6_orport
 
unsigned int is_authority:1
 
unsigned int is_exit:1
 
unsigned int is_stable:1
 
unsigned int is_fast:1
 
unsigned int is_flagged_running:1
 
unsigned int is_named:1
 
unsigned int is_unnamed:1
 
unsigned int is_valid:1
 
unsigned int is_possible_guard:1
 
unsigned int is_bad_exit:1
 
unsigned int is_hs_dir:1
 
unsigned int is_v2_dir:1
 
unsigned int is_staledesc:1
 
unsigned int has_bandwidth:1
 
unsigned int has_exitsummary:1
 
unsigned int bw_is_unmeasured:1
 
protover_summary_flags_t pv
 
uint32_t bandwidth_kb
 
unsigned int has_guardfraction:1
 
uint32_t guardfraction_percentage
 
char * exitsummary
 
time_t last_dir_503_at
 
download_status_t dl_status
 

Detailed Description

Contents of a single router entry in a network status object.

Definition at line 14 of file routerstatus_st.h.

Field Documentation

◆ addr

uint32_t routerstatus_t::addr

◆ bandwidth_kb

uint32_t routerstatus_t::bandwidth_kb

Bandwidth (capacity) of the router as reported in the vote/consensus, in kilobytes/sec.

Definition at line 61 of file routerstatus_st.h.

Referenced by update_total_bandwidth_weights().

◆ bw_is_unmeasured

unsigned int routerstatus_t::bw_is_unmeasured

This is a consensus entry, with the Unmeasured flag set.

Definition at line 55 of file routerstatus_st.h.

◆ descriptor_digest

char routerstatus_t::descriptor_digest[DIGEST256_LEN]

Digest of the router's most recent descriptor or microdescriptor. If it's a descriptor, we only use the first DIGEST_LEN bytes.

Definition at line 22 of file routerstatus_st.h.

Referenced by compare_vote_rs().

◆ dir_port

uint16_t routerstatus_t::dir_port

Directory port for this router.

Definition at line 25 of file routerstatus_st.h.

Referenced by fascist_firewall_allows_rs_impl().

◆ exitsummary

char* routerstatus_t::exitsummary

exit policy summary - XXX weasel: this probably should not stay a string.

Definition at line 69 of file routerstatus_st.h.

Referenced by routerstatus_free_(), and vote_routerstatus_free_().

◆ guardfraction_percentage

uint32_t routerstatus_t::guardfraction_percentage

The guardfraction value of this router.

Definition at line 67 of file routerstatus_st.h.

◆ has_bandwidth

unsigned int routerstatus_t::has_bandwidth

True iff the authorities think this router should upload a new descriptor soon. The vote/consensus had bw info

Definition at line 53 of file routerstatus_st.h.

Referenced by update_total_bandwidth_weights().

◆ has_exitsummary

unsigned int routerstatus_t::has_exitsummary

The vote/consensus had exit summaries

Definition at line 54 of file routerstatus_st.h.

◆ has_guardfraction

unsigned int routerstatus_t::has_guardfraction

The consensus has guardfraction information for this router.

Definition at line 65 of file routerstatus_st.h.

◆ identity_digest

char routerstatus_t::identity_digest[DIGEST_LEN]

◆ ipv6_addr

tor_addr_t routerstatus_t::ipv6_addr

IPv6 address for this router.

Definition at line 26 of file routerstatus_st.h.

Referenced by fascist_firewall_allows_rs_impl(), node_add_to_address_set(), node_describe(), and routerstatus_describe().

◆ ipv6_orport

uint16_t routerstatus_t::ipv6_orport

IPv6 OR port for this router.

Definition at line 27 of file routerstatus_st.h.

Referenced by fascist_firewall_allows_rs_impl().

◆ is_authority

unsigned int routerstatus_t::is_authority

True iff this router is an authority.

Definition at line 28 of file routerstatus_st.h.

Referenced by clear_status_flags_on_sybil(), and set_routerstatus_from_routerinfo().

◆ is_bad_exit

unsigned int routerstatus_t::is_bad_exit

True iff this node is a bad choice for an exit node.

Definition at line 43 of file routerstatus_st.h.

◆ is_exit

unsigned int routerstatus_t::is_exit

True iff this router is a good exit.

Definition at line 29 of file routerstatus_st.h.

Referenced by clear_status_flags_on_sybil(), and dirserv_set_routerstatus_testing().

◆ is_fast

unsigned int routerstatus_t::is_fast

True iff this router has good bandwidth.

Definition at line 31 of file routerstatus_st.h.

Referenced by clear_status_flags_on_sybil().

◆ is_flagged_running

unsigned int routerstatus_t::is_flagged_running

True iff this router is called 'running' in the consensus. We give it this funny name so that we don't accidentally use this bit as a view of whether we think the router is currently running. If that's what you want to know, look at is_running in node_t.

Definition at line 36 of file routerstatus_st.h.

Referenced by clear_status_flags_on_sybil(), and client_would_use_router().

◆ is_hs_dir

unsigned int routerstatus_t::is_hs_dir

True iff this router is a v2-or-later hidden service directory.

Definition at line 45 of file routerstatus_st.h.

Referenced by clear_status_flags_on_sybil(), and dirserv_set_routerstatus_testing().

◆ is_named

unsigned int routerstatus_t::is_named

True iff "nickname" belongs to this router.

Definition at line 37 of file routerstatus_st.h.

Referenced by clear_status_flags_on_sybil().

◆ is_possible_guard

unsigned int routerstatus_t::is_possible_guard

True iff this router would be a good choice as an entry guard.

Definition at line 41 of file routerstatus_st.h.

Referenced by clear_status_flags_on_sybil(), and dirserv_set_routerstatus_testing().

◆ is_stable

unsigned int routerstatus_t::is_stable

True iff this router stays up a long time.

Definition at line 30 of file routerstatus_st.h.

Referenced by clear_status_flags_on_sybil().

◆ is_staledesc

unsigned int routerstatus_t::is_staledesc

True iff this router publishes an open DirPort or it claims to accept tunnelled dir requests.

Definition at line 50 of file routerstatus_st.h.

Referenced by mark_my_descriptor_dirty_if_too_old().

◆ is_unnamed

unsigned int routerstatus_t::is_unnamed

True iff "nickname" belongs to another router.

Definition at line 38 of file routerstatus_st.h.

◆ is_valid

unsigned int routerstatus_t::is_valid

True iff this router isn't invalid.

Definition at line 40 of file routerstatus_st.h.

Referenced by clear_status_flags_on_sybil().

◆ last_dir_503_at

time_t routerstatus_t::last_dir_503_at

When did this router last tell us that it was too busy to serve directory info?

Definition at line 75 of file routerstatus_st.h.

Referenced by mark_all_dirservers_up().

◆ nickname

char routerstatus_t::nickname[MAX_NICKNAME_LEN+1]

◆ or_port

uint16_t routerstatus_t::or_port

IPv4 OR port for this router.

Definition at line 24 of file routerstatus_st.h.

Referenced by dirserv_would_reject_router(), fascist_firewall_allows_rs_impl(), and routerset_contains_routerstatus().

◆ published_on

time_t routerstatus_t::published_on

When was this router published?

Definition at line 15 of file routerstatus_st.h.

Referenced by client_would_use_router(), compute_routerstatus_consensus(), and mark_my_descriptor_dirty_if_too_old().

◆ pv

protover_summary_flags_t routerstatus_t::pv

Flags to summarize the protocol versions for this routerstatus_t.

Definition at line 59 of file routerstatus_st.h.

Referenced by circpad_node_supports_padding(), and node_get_protover_summary_flags().


The documentation for this struct was generated from the following file: