routerstatus_t Struct Reference

#include <or.h>


Data Fields

time_t published_on
char nickname [MAX_NICKNAME_LEN+1]
char identity_digest [DIGEST_LEN]
char descriptor_digest [DIGEST_LEN]
uint32_t addr
uint16_t or_port
uint16_t dir_port
unsigned int is_authority:1
unsigned int is_exit:1
unsigned int is_stable:1
unsigned int is_fast:1
unsigned int is_running:1
unsigned int is_named:1
unsigned int is_unnamed:1
unsigned int is_valid:1
unsigned int is_v2_dir:1
unsigned int is_possible_guard:1
unsigned int is_bad_exit:1
unsigned int is_bad_directory:1
unsigned int is_hs_dir:1
unsigned int version_known:1
unsigned int version_supports_begindir:1
unsigned int version_supports_conditional_consensus:1
unsigned int version_supports_extrainfo_upload:1
unsigned int version_supports_v3_dir:1
unsigned int has_bandwidth:1
unsigned int has_exitsummary:1
unsigned int has_measured_bw:1
uint32_t measured_bw
uint32_t bandwidth
char * exitsummary
unsigned int need_to_mirror:1
unsigned int name_lookup_warned:1
time_t last_dir_503_at
download_status_t dl_status


Detailed Description

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

Field Documentation

char routerstatus_t::nickname[MAX_NICKNAME_LEN+1]

True iff this router can serve directory information with v2 of the directory protocol. (All directory caches cache v1 directories.)

Referenced by clear_status_flags_on_sybil(), router_get_my_share_of_directory_requests(), routerstatus_format_entry(), routerstatus_has_changed(), routerstatus_parse_entry_from_string(), and set_routerstatus_from_routerinfo().

True iff we know version info for this router. (i.e., a "v" entry was included.) We'll replace all these with a big tor_version_t or a char[] if the number of traits we care about ever becomes incredibly big.

Referenced by routerstatus_has_changed(), and routerstatus_parse_entry_from_string().

True iff this router is a version that supports BEGIN_DIR cells.

Referenced by add_trusted_dir_server(), directory_initiate_command_routerstatus_rend(), routerstatus_has_changed(), and routerstatus_parse_entry_from_string().

True iff this router is a version that supports conditional consensus downloads (signed by list of authorities).

Referenced by add_trusted_dir_server(), directory_initiate_command_routerstatus_rend(), routerstatus_has_changed(), and routerstatus_parse_entry_from_string().

True iff this router is a version that we can post extrainfo docs to.

Referenced by router_supports_extrainfo(), routerstatus_has_changed(), and routerstatus_parse_entry_from_string().

True iff this router is a version that, if it caches directory info, we can get v3 downloads from.

Referenced by router_get_my_share_of_directory_requests(), routerstatus_has_changed(), and routerstatus_parse_entry_from_string().

The vote/consensus had exit summaries

Referenced by routerstatus_parse_entry_from_string().

The vote/consensus had a measured bw

Referenced by measured_bw_line_apply(), routerstatus_format_entry(), and routerstatus_parse_entry_from_string().

Measured bandwidth (capacity) of the router

Referenced by measured_bw_line_apply(), routerstatus_format_entry(), and routerstatus_parse_entry_from_string().

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

Referenced by routerstatus_format_entry(), routerstatus_parse_entry_from_string(), smartlist_choose_by_bandwidth(), and smartlist_choose_by_bandwidth_weights().

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

Referenced by routerstatus_free(), routerstatus_parse_entry_from_string(), and vote_routerstatus_free().

True if we, as a directory mirror, want to download the corresponding routerinfo from the authority who gave us this routerstatus. (That is, if we don't have the routerinfo, and if we haven't already tried to get it from this authority.) Applies in v2 networkstatus document only.

Referenced by router_add_to_routerlist().

Have we warned the user for referring to this (unnamed) router by nickname?

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

Referenced by connection_dir_client_reached_eof().


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

Generated on Tue May 25 00:31:21 2010 for tor by  doxygen 1.5.6