Tor  0.4.3.0-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 19 of file routerstatus_st.h.

Field Documentation

◆ addr

uint32_t addr

◆ bandwidth_kb

uint32_t bandwidth_kb

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

Definition at line 66 of file routerstatus_st.h.

Referenced by update_total_bandwidth_weights().

◆ bw_is_unmeasured

unsigned int bw_is_unmeasured

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

Definition at line 60 of file routerstatus_st.h.

◆ descriptor_digest

char 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 27 of file routerstatus_st.h.

Referenced by compare_vote_rs(), and routerstatus_has_changed().

◆ dir_port

uint16_t dir_port

Directory port for this router.

Definition at line 30 of file routerstatus_st.h.

Referenced by fallback_dir_server_new(), fascist_firewall_allows_rs_impl(), and routerstatus_has_changed().

◆ exitsummary

char* exitsummary

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

Definition at line 74 of file routerstatus_st.h.

Referenced by routerstatus_free_(), and vote_routerstatus_free_().

◆ guardfraction_percentage

uint32_t guardfraction_percentage

The guardfraction value of this router.

Definition at line 72 of file routerstatus_st.h.

◆ has_bandwidth

unsigned int has_bandwidth

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

Definition at line 58 of file routerstatus_st.h.

Referenced by update_total_bandwidth_weights().

◆ has_exitsummary

unsigned int has_exitsummary

The vote/consensus had exit summaries

Definition at line 59 of file routerstatus_st.h.

◆ has_guardfraction

unsigned int has_guardfraction

The consensus has guardfraction information for this router.

Definition at line 70 of file routerstatus_st.h.

◆ identity_digest

char identity_digest[DIGEST_LEN]

◆ ipv6_addr

tor_addr_t ipv6_addr

IPv6 address for this router.

Definition at line 31 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 ipv6_orport

IPv6 OR port for this router.

Definition at line 32 of file routerstatus_st.h.

Referenced by fascist_firewall_allows_rs_impl().

◆ is_authority

unsigned int is_authority

True iff this router is an authority.

Definition at line 33 of file routerstatus_st.h.

Referenced by clear_status_flags_on_sybil(), routerstatus_has_changed(), and set_routerstatus_from_routerinfo().

◆ is_bad_exit

unsigned int is_bad_exit

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

Definition at line 48 of file routerstatus_st.h.

Referenced by routerstatus_has_changed().

◆ is_exit

unsigned int is_exit

True iff this router is a good exit.

Definition at line 34 of file routerstatus_st.h.

Referenced by clear_status_flags_on_sybil(), dirserv_set_routerstatus_testing(), and routerstatus_has_changed().

◆ is_fast

unsigned int is_fast

True iff this router has good bandwidth.

Definition at line 36 of file routerstatus_st.h.

Referenced by clear_status_flags_on_sybil(), and routerstatus_has_changed().

◆ is_flagged_running

unsigned int 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 41 of file routerstatus_st.h.

Referenced by clear_status_flags_on_sybil(), client_would_use_router(), and routerstatus_has_changed().

◆ is_hs_dir

unsigned int is_hs_dir

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

Definition at line 50 of file routerstatus_st.h.

Referenced by clear_status_flags_on_sybil(), dirserv_set_routerstatus_testing(), and routerstatus_has_changed().

◆ is_named

unsigned int is_named

True iff "nickname" belongs to this router.

Definition at line 42 of file routerstatus_st.h.

Referenced by clear_status_flags_on_sybil(), and routerstatus_has_changed().

◆ is_possible_guard

unsigned int is_possible_guard

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

Definition at line 46 of file routerstatus_st.h.

Referenced by clear_status_flags_on_sybil(), dirserv_set_routerstatus_testing(), and routerstatus_has_changed().

◆ is_stable

unsigned int is_stable

True iff this router stays up a long time.

Definition at line 35 of file routerstatus_st.h.

Referenced by clear_status_flags_on_sybil(), and routerstatus_has_changed().

◆ is_staledesc

unsigned int is_staledesc

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

Definition at line 55 of file routerstatus_st.h.

Referenced by mark_my_descriptor_dirty_if_too_old().

◆ is_unnamed

unsigned int is_unnamed

True iff "nickname" belongs to another router.

Definition at line 43 of file routerstatus_st.h.

Referenced by routerstatus_has_changed().

◆ is_valid

unsigned int is_valid

True iff this router isn't invalid.

Definition at line 45 of file routerstatus_st.h.

Referenced by clear_status_flags_on_sybil(), and routerstatus_has_changed().

◆ last_dir_503_at

time_t last_dir_503_at

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

Definition at line 80 of file routerstatus_st.h.

Referenced by mark_all_dirservers_up().

◆ nickname

char nickname[MAX_NICKNAME_LEN+1]

◆ or_port

uint16_t or_port

◆ published_on

time_t published_on

When was this router published?

Definition at line 20 of file routerstatus_st.h.

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

◆ pv

Flags to summarize the protocol versions for this routerstatus_t.

Definition at line 64 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: