Tor
0.4.7.0-alpha-dev
feature
nodelist
desc_store_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 desc_store_st.h
9
* @brief Routerinfo/extrainfo storage structure.
10
**/
11
12
#ifndef DESC_STORE_ST_H
13
#define DESC_STORE_ST_H
14
15
/** Allowable types of desc_store_t. */
16
typedef
enum
store_type_t
{
17
ROUTER_STORE = 0,
18
EXTRAINFO_STORE = 1
19
}
store_type_t
;
20
21
/** A 'store' is a set of descriptors saved on disk, with accompanying
22
* journal, mmaped as needed, rebuilt as needed. */
23
struct
desc_store_t
{
24
/** Filename (within DataDir) for the store. We append .tmp to this
25
* filename for a temporary file when rebuilding the store, and .new to this
26
* filename for the journal. */
27
const
char
*
fname_base
;
28
/** Human-readable description of what this store contains. */
29
const
char
*
description
;
30
31
tor_mmap_t
*
mmap
;
/**< A mmap for the main file in the store. */
32
33
store_type_t
type
;
/**< What's stored in this store? */
34
35
/** The size of the router log, in bytes. */
36
size_t
journal_len
;
37
/** The size of the router store, in bytes. */
38
size_t
store_len
;
39
/** Total bytes dropped since last rebuild: this is space currently
40
* used in the cache and the journal that could be freed by a rebuild. */
41
size_t
bytes_dropped
;
42
};
43
44
#endif
/* !defined(DESC_STORE_ST_H) */
store_type_t
store_type_t
Definition:
desc_store_st.h:16
desc_store_t
Definition:
desc_store_st.h:23
desc_store_t::type
store_type_t type
Definition:
desc_store_st.h:33
desc_store_t::description
const char * description
Definition:
desc_store_st.h:29
desc_store_t::fname_base
const char * fname_base
Definition:
desc_store_st.h:27
desc_store_t::mmap
tor_mmap_t * mmap
Definition:
desc_store_st.h:31
desc_store_t::journal_len
size_t journal_len
Definition:
desc_store_st.h:36
desc_store_t::store_len
size_t store_len
Definition:
desc_store_st.h:38
desc_store_t::bytes_dropped
size_t bytes_dropped
Definition:
desc_store_st.h:41
tor_mmap_t
Definition:
mmap.h:25
Generated by
1.9.1