Tor  0.4.7.0-alpha-dev
routerlist_st.h
Go to the documentation of this file.
1 /* Copyright (c) 2001 Matej Pfajfar.
2  * Copyright (c) 2001-2004, Roger Dingledine.
3  * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
4  * Copyright (c) 2007-2021, The Tor Project, Inc. */
5 /* See LICENSE for licensing information */
6 
7 /**
8  * @file routerlist_st.h
9  * @brief Router descriptor list structure.
10  **/
11 
12 #ifndef ROUTERLIST_ST_H
13 #define ROUTERLIST_ST_H
14 
16 
17 /** Contents of a directory of onion routers. */
18 struct routerlist_t {
19  /** Map from server identity digest to a member of routers. */
20  struct digest_ri_map_t *identity_map;
21  /** Map from server descriptor digest to a signed_descriptor_t from
22  * routers or old_routers. */
23  struct digest_sd_map_t *desc_digest_map;
24  /** Map from extra-info digest to an extrainfo_t. Only exists for
25  * routers in routers or old_routers. */
26  struct digest_ei_map_t *extra_info_map;
27  /** Map from extra-info digests to a signed_descriptor_t for a router
28  * descriptor having that extra-info digest. Only exists for
29  * routers in routers or old_routers. */
30  struct digest_sd_map_t *desc_by_eid_map;
31  /** List of routerinfo_t for all currently live routers we know. */
33  /** List of signed_descriptor_t for older router descriptors we're
34  * caching. */
36  /** Store holding server descriptors. If present, any router whose
37  * cache_info.saved_location == SAVED_IN_CACHE is stored in this file
38  * starting at cache_info.saved_offset */
40  /** Store holding extra-info documents. */
42 };
43 
44 #endif /* !defined(ROUTERLIST_ST_H) */
Routerinfo/extrainfo storage structure.
struct digest_sd_map_t * desc_digest_map
Definition: routerlist_st.h:23
smartlist_t * routers
Definition: routerlist_st.h:32
desc_store_t desc_store
Definition: routerlist_st.h:39
desc_store_t extrainfo_store
Definition: routerlist_st.h:41
smartlist_t * old_routers
Definition: routerlist_st.h:35
struct digest_ei_map_t * extra_info_map
Definition: routerlist_st.h:26
struct digest_ri_map_t * identity_map
Definition: routerlist_st.h:20
struct digest_sd_map_t * desc_by_eid_map
Definition: routerlist_st.h:30