Tor 0.4.9.2-alpha-dev
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Data Fields
hs_cache_dir_descriptor_t Struct Reference

#include <hs_cache.h>

Data Fields

const uint8_t * key
 
time_t created_ts
 
hs_desc_plaintext_data_tplaintext_data
 
char * encoded_desc
 
uint64_t n_downloaded
 

Detailed Description

Descriptor representation on the directory side which is a subset of information that the HSDir can decode and serve it.

Definition at line 57 of file hs_cache.h.

Field Documentation

◆ created_ts

time_t created_ts

When does this entry has been created. Used to expire entries.

Definition at line 64 of file hs_cache.h.

◆ encoded_desc

char* encoded_desc

Encoded descriptor which is basically in text form. It's a NUL terminated string thus safe to strlen().

Definition at line 71 of file hs_cache.h.

Referenced by cache_get_dir_entry_size().

◆ key

const uint8_t* key

This object is indexed using the blinded pubkey located in the plaintext data which is populated only once the descriptor has been successfully decoded and validated. This simply points to that pubkey.

Definition at line 61 of file hs_cache.h.

Referenced by cache_store_v3_as_dir(), remove_v3_desc_as_dir(), and store_v3_desc_as_dir().

◆ n_downloaded

uint64_t n_downloaded

How many times this descriptor has been downloaded. We use this as an heuristic for the OOM cache cleaning. It is very large so we avoid an kind of possible wrapping.

Definition at line 75 of file hs_cache.h.

Referenced by hs_cache_mark_dowloaded_as_dir().

◆ plaintext_data

hs_desc_plaintext_data_t* plaintext_data

Descriptor plaintext information. Obviously, we can't decrypt the encrypted part of the descriptor.

Definition at line 68 of file hs_cache.h.

Referenced by cache_get_dir_entry_size(), cache_store_v3_as_dir(), and hs_cache_store_as_dir().


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