Add stub functions for querying metadata about the consensus.

This commit is contained in:
Alexander Færøy 2017-05-13 01:03:55 +02:00
parent 64116ab97f
commit 363f4b8db5
No known key found for this signature in database
GPG Key ID: E15081D5D3C3DB53
2 changed files with 67 additions and 0 deletions

View File

@ -374,6 +374,65 @@ consensus_cache_entry_get_body(const consensus_cache_entry_t *ent,
return 0;
}
/** Read the lifetime of cached object <b>ent</b> into <b>lifetime</b>. */
int consensus_cache_entry_get_lifetime(const consensus_cache_entry_t *ent,
long *lifetime)
{
if (BUG(ent->magic != CCE_MAGIC))
return -1; // LCOV_EXCL_LINE
tor_assert(lifetime);
// FIXME(ahf): Fill out.
*lifetime = 0;
return 0;
}
/** Return non-zero if the cache object found in <b>ent</b> is
* reasonably live, otherwise return 0. Use <b>now</b> to pass the
* timestamp used for comparison. */
int consensus_cache_entry_is_reasonably_live(const consensus_cache_entry_t *ent,
time_t now)
{
if (BUG(ent->magic != CCE_MAGIC))
return -1; // LCOV_EXCL_LINE
// FIXME(ahf): Fill out.
(void)now;
return 1;
}
/** Read the set of voters from the cached object <b>ent</b> into <b>out</b>. */
int consensus_cache_entry_get_voters(const consensus_cache_entry_t *ent,
smartlist_t *out)
{
if (BUG(ent->magic != CCE_MAGIC))
return -1; // LCOV_EXCL_LINE
// FIXME(ahf): Fill out.
(void)out;
return 0;
}
/** Read the valid until timestamp from the cached object <b>ent</b>
* into <b>out</b>. */
int consensus_cache_entry_valid_until(const consensus_cache_entry_t *ent,
time_t *out)
{
if (BUG(ent->magic != CCE_MAGIC))
return -1; // LCOV_EXCL_LINE
tor_assert(out);
// FIXME(ahf): Fill out.
*out = time(NULL);
return 0;
}
/**
* Unmap every mmap'd element of <b>cache</b> that has been unused
* since <b>cutoff</b>.

View File

@ -52,6 +52,14 @@ void consensus_cache_entry_mark_for_aggressive_release(
int consensus_cache_entry_get_body(const consensus_cache_entry_t *ent,
const uint8_t **body_out,
size_t *sz_out);
int consensus_cache_entry_get_lifetime(const consensus_cache_entry_t *ent,
long *lifetime);
int consensus_cache_entry_is_reasonably_live(const consensus_cache_entry_t *ent,
time_t now);
int consensus_cache_entry_get_voters(const consensus_cache_entry_t *ent,
smartlist_t *out);
int consensus_cache_entry_valid_until(const consensus_cache_entry_t *ent,
time_t *out);
#ifdef TOR_UNIT_TESTS
int consensus_cache_entry_is_mapped(consensus_cache_entry_t *ent);