9 #ifndef TOR_REPLAYCACHE_H 10 #define TOR_REPLAYCACHE_H 12 typedef struct replaycache_s replaycache_t;
14 #ifdef REPLAYCACHE_PRIVATE 16 struct replaycache_s {
18 time_t scrub_interval;
29 digest256map_t *digests_seen;
37 #define replaycache_free(r) \ 38 FREE_AND_NULL(replaycache_t, replaycache_free_, (r)) 41 #ifdef REPLAYCACHE_PRIVATE 51 time_t present, replaycache_t *r,
const void *data,
size_t len,
54 time_t present, replaycache_t *r);
64 replaycache_t *r,
const void *data,
size_t len, time_t *elapsed);
int replaycache_add_and_test(replaycache_t *r, const void *data, size_t len)
Definition: replaycache.c:186
int replaycache_add_test_and_elapsed(replaycache_t *r, const void *data, size_t len, time_t *elapsed)
Definition: replaycache.c:195
STATIC void replaycache_scrub_if_needed_internal(time_t present, replaycache_t *r)
Definition: replaycache.c:139
replaycache_t * replaycache_new(time_t horizon, time_t interval)
Definition: replaycache.c:47
void replaycache_scrub_if_needed(replaycache_t *r)
Definition: replaycache.c:205
STATIC int replaycache_add_and_test_internal(time_t present, replaycache_t *r, const void *data, size_t len, time_t *elapsed)
Definition: replaycache.c:76
void replaycache_free_(replaycache_t *r)
Definition: replaycache.c:30