[tor-commits] [tor/master] Add rendcache.{c|h}

nickm at torproject.org nickm at torproject.org
Fri Jun 19 13:10:18 UTC 2015


commit 33b1a33c338d3eb882e1053a1c965f1c6fc6a564
Author: David Goulet <dgoulet at ev0ke.net>
Date:   Thu Jun 18 11:00:10 2015 -0400

    Add rendcache.{c|h}
    
    For now, rend_cache_entry_t has been moved from or.h to rendcache.h and
    those files have been added to the build system.
    
    In the next commit, these will contain hidden service descriptor cache ABI
    and API for both client and directory side. The goal is to consolidate the
    descriptor caches in one location to ease development, maintenance, review
    and improve documentation for each cache behavior and algorithm.
    
    Signed-off-by: David Goulet <dgoulet at ev0ke.net>
---
 src/or/include.am   |    2 ++
 src/or/or.h         |    9 ---------
 src/or/rendcache.c  |    9 +++++++++
 src/or/rendcache.h  |   23 +++++++++++++++++++++++
 src/or/rendclient.h |    2 ++
 src/or/rendcommon.h |    2 ++
 6 files changed, 38 insertions(+), 9 deletions(-)

diff --git a/src/or/include.am b/src/or/include.am
index 6bbf788..af33365 100644
--- a/src/or/include.am
+++ b/src/or/include.am
@@ -66,6 +66,7 @@ LIBTOR_A_SOURCES = \
 	src/or/policies.c				\
 	src/or/reasons.c				\
 	src/or/relay.c					\
+	src/or/rendcache.c				\
 	src/or/rendclient.c				\
 	src/or/rendcommon.c				\
 	src/or/rendmid.c				\
@@ -174,6 +175,7 @@ ORHEADERS = \
 	src/or/policies.h				\
 	src/or/reasons.h				\
 	src/or/relay.h					\
+	src/or/rendcache.h				\
 	src/or/rendclient.h				\
 	src/or/rendcommon.h				\
 	src/or/rendmid.h				\
diff --git a/src/or/or.h b/src/or/or.h
index 9e7b753..d3a476e 100644
--- a/src/or/or.h
+++ b/src/or/or.h
@@ -4970,15 +4970,6 @@ typedef struct rend_service_descriptor_t {
   smartlist_t *successful_uploads;
 } rend_service_descriptor_t;
 
-/** A cached rendezvous descriptor. */
-typedef struct rend_cache_entry_t {
-  size_t len; /**< Length of <b>desc</b> */
-  time_t last_served; /**< When did we last write this one to somebody?
-                       * (HSDir only) */
-  char *desc; /**< Service descriptor */
-  rend_service_descriptor_t *parsed; /**< Parsed value of 'desc' */
-} rend_cache_entry_t;
-
 /********************************* routerlist.c ***************************/
 
 /** Represents information about a single trusted or fallback directory
diff --git a/src/or/rendcache.c b/src/or/rendcache.c
new file mode 100644
index 0000000..758d7e6
--- /dev/null
+++ b/src/or/rendcache.c
@@ -0,0 +1,9 @@
+/* Copyright (c) 2015, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * \file rendcache.c
+ * \brief Hidden service desriptor cache.
+ **/
+
+#include "rendcache.h"
diff --git a/src/or/rendcache.h b/src/or/rendcache.h
new file mode 100644
index 0000000..1b78436
--- /dev/null
+++ b/src/or/rendcache.h
@@ -0,0 +1,23 @@
+/* Copyright (c) 2015, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * \file rendcache.h
+ * \brief Header file for rendcache.c
+ **/
+
+#ifndef TOR_RENDCACHE_H
+#define TOR_RENDCACHE_H
+
+#include "or.h"
+
+/** A cached rendezvous descriptor. */
+typedef struct rend_cache_entry_t {
+  size_t len; /**< Length of <b>desc</b> */
+  time_t last_served; /**< When did we last write this one to somebody?
+                       * (HSDir only) */
+  char *desc; /**< Service descriptor */
+  rend_service_descriptor_t *parsed; /**< Parsed value of 'desc' */
+} rend_cache_entry_t;
+
+#endif /* TOR_RENDCACHE_H */
diff --git a/src/or/rendclient.h b/src/or/rendclient.h
index 6118924..439f428 100644
--- a/src/or/rendclient.h
+++ b/src/or/rendclient.h
@@ -12,6 +12,8 @@
 #ifndef TOR_RENDCLIENT_H
 #define TOR_RENDCLIENT_H
 
+#include "rendcache.h"
+
 void rend_client_purge_state(void);
 
 void rend_client_introcirc_has_opened(origin_circuit_t *circ);
diff --git a/src/or/rendcommon.h b/src/or/rendcommon.h
index 0ed7adc..c6f2b8e 100644
--- a/src/or/rendcommon.h
+++ b/src/or/rendcommon.h
@@ -12,6 +12,8 @@
 #ifndef TOR_RENDCOMMON_H
 #define TOR_RENDCOMMON_H
 
+#include "rendcache.h"
+
 /** Free all storage associated with <b>data</b> */
 static INLINE void
 rend_data_free(rend_data_t *data)





More information about the tor-commits mailing list