Tor  0.4.7.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]
 
tor_addr_t ipv4_addr
 
uint16_t ipv4_orport
 
uint16_t ipv4_dirport
 
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 is_sybil: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

◆ bandwidth_kb

uint32_t bandwidth_kb

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

Definition at line 71 of file routerstatus_st.h.

Referenced by routerstatus_has_visibly_changed(), and 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 65 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 31 of file routerstatus_st.h.

Referenced by compare_vote_rs(), and routerstatus_has_visibly_changed().

◆ exitsummary

char* exitsummary

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

Definition at line 79 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 77 of file routerstatus_st.h.

◆ has_bandwidth

unsigned int has_bandwidth

True iff this router is a sybil. The vote/consensus had bw info

Definition at line 63 of file routerstatus_st.h.

Referenced by routerstatus_has_visibly_changed(), and update_total_bandwidth_weights().

◆ has_exitsummary

unsigned int has_exitsummary

The vote/consensus had exit summaries

Definition at line 64 of file routerstatus_st.h.

◆ has_guardfraction

unsigned int has_guardfraction

The consensus has guardfraction information for this router.

Definition at line 75 of file routerstatus_st.h.

◆ identity_digest

char identity_digest[DIGEST_LEN]

◆ ipv4_dirport

uint16_t ipv4_dirport

Directory port for this router.

Definition at line 34 of file routerstatus_st.h.

Referenced by reachable_addr_allows_rs_impl(), and routerstatus_has_visibly_changed().

◆ ipv4_orport

uint16_t ipv4_orport

◆ ipv6_addr

tor_addr_t ipv6_addr

◆ ipv6_orport

uint16_t ipv6_orport

IPv6 OR port for this router.

Definition at line 36 of file routerstatus_st.h.

Referenced by node_add_to_address_set(), reachable_addr_allows_rs_impl(), and routerstatus_has_visibly_changed().

◆ is_authority

unsigned int is_authority

True iff this router is an authority.

Definition at line 37 of file routerstatus_st.h.

Referenced by clear_status_flags_on_sybil(), routerstatus_has_visibly_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 52 of file routerstatus_st.h.

Referenced by routerstatus_has_visibly_changed().

◆ is_exit

unsigned int is_exit

True iff this router is a good exit.

Definition at line 38 of file routerstatus_st.h.

Referenced by clear_status_flags_on_sybil(), and routerstatus_has_visibly_changed().

◆ is_fast

unsigned int is_fast

True iff this router has good bandwidth.

Definition at line 40 of file routerstatus_st.h.

Referenced by clear_status_flags_on_sybil(), and routerstatus_has_visibly_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 45 of file routerstatus_st.h.

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

◆ is_hs_dir

unsigned int is_hs_dir

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

Definition at line 54 of file routerstatus_st.h.

Referenced by clear_status_flags_on_sybil(), and routerstatus_has_visibly_changed().

◆ is_named

unsigned int is_named

True iff "nickname" belongs to this router.

Definition at line 46 of file routerstatus_st.h.

Referenced by clear_status_flags_on_sybil(), and routerstatus_has_visibly_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 50 of file routerstatus_st.h.

Referenced by clear_status_flags_on_sybil(), and routerstatus_has_visibly_changed().

◆ is_stable

unsigned int is_stable

True iff this router stays up a long time.

Definition at line 39 of file routerstatus_st.h.

Referenced by clear_status_flags_on_sybil(), and routerstatus_has_visibly_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 59 of file routerstatus_st.h.

Referenced by mark_my_descriptor_dirty_if_too_old(), and routerstatus_has_visibly_changed().

◆ is_sybil

unsigned int is_sybil

True iff the authorities think this router should upload a new descriptor soon.

Definition at line 61 of file routerstatus_st.h.

Referenced by clear_status_flags_on_sybil().

◆ is_unnamed

unsigned int is_unnamed

True iff "nickname" belongs to another router.

Definition at line 47 of file routerstatus_st.h.

Referenced by routerstatus_has_visibly_changed().

◆ is_valid

unsigned int is_valid

True iff this router isn't invalid.

Definition at line 49 of file routerstatus_st.h.

Referenced by clear_status_flags_on_sybil(), and routerstatus_has_visibly_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 85 of file routerstatus_st.h.

Referenced by mark_all_dirservers_up().

◆ nickname

char nickname[MAX_NICKNAME_LEN+1]

◆ published_on

time_t published_on

◆ pv

Flags to summarize the protocol versions for this routerstatus_t.

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