tor  master
Data Fields
routerstatus_t Struct Reference

#include <or.h>

Collaboration diagram for routerstatus_t:
Collaboration graph
[legend]

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 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.

Field Documentation

◆ addr

uint32_t addr

IPv4 address for this router, in host order.

◆ bandwidth_kb

uint32_t bandwidth_kb

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

◆ bw_is_unmeasured

unsigned int bw_is_unmeasured

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

◆ 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.

◆ dir_port

uint16_t dir_port

Directory port for this router.

◆ exitsummary

char* exitsummary

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

◆ guardfraction_percentage

uint32_t guardfraction_percentage

The guardfraction value of this router.

◆ has_bandwidth

unsigned int has_bandwidth

True iff this router publishes an open DirPort or it claims to accept tunnelled dir requests.The vote/consensus had bw info

◆ has_exitsummary

unsigned int has_exitsummary

The vote/consensus had exit summaries

◆ has_guardfraction

unsigned int has_guardfraction

The consensus has guardfraction information for this router.

◆ identity_digest

char identity_digest[DIGEST_LEN]

Digest of the router's identity key.

◆ ipv6_addr

tor_addr_t ipv6_addr

IPv6 address for this router.

◆ ipv6_orport

uint16_t ipv6_orport

IPv6 OR port for this router.

◆ is_authority

unsigned int is_authority

True iff this router is an authority.

◆ is_bad_exit

unsigned int is_bad_exit

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

◆ is_exit

unsigned int is_exit

True iff this router is a good exit.

◆ is_fast

unsigned int is_fast

True iff this router has good bandwidth.

◆ 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.

◆ is_hs_dir

unsigned int is_hs_dir

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

◆ is_named

unsigned int is_named

True iff "nickname" belongs to this router.

◆ is_possible_guard

unsigned int is_possible_guard

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

◆ is_stable

unsigned int is_stable

True iff this router stays up a long time.

◆ is_unnamed

unsigned int is_unnamed

True iff "nickname" belongs to another router.

◆ is_valid

unsigned int is_valid

True iff this router isn't invalid.

◆ 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?

◆ nickname

char nickname[MAX_NICKNAME_LEN+1]

The nickname this router says it has.

◆ or_port

uint16_t or_port

IPv4 OR port for this router.

◆ published_on

time_t published_on

When was this router published?

◆ pv

Flags to summarize the protocol versions for this routerstatus_t.


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