From 786745c969589eae2aa069885b40eba0f3989507 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Thu, 30 Apr 2015 07:56:00 +0000 Subject: implementing 'get_closest' API for sqlite and postgres datacache plugins --- src/include/gnunet_datacache_lib.h | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) (limited to 'src/include/gnunet_datacache_lib.h') diff --git a/src/include/gnunet_datacache_lib.h b/src/include/gnunet_datacache_lib.h index f3761bd89..edbba7de4 100644 --- a/src/include/gnunet_datacache_lib.h +++ b/src/include/gnunet_datacache_lib.h @@ -133,7 +133,8 @@ unsigned int GNUNET_DATACACHE_get (struct GNUNET_DATACACHE_Handle *h, const struct GNUNET_HashCode *key, enum GNUNET_BLOCK_Type type, - GNUNET_DATACACHE_Iterator iter, void *iter_cls); + GNUNET_DATACACHE_Iterator iter, + void *iter_cls); /** @@ -150,6 +151,25 @@ GNUNET_DATACACHE_get_random (struct GNUNET_DATACACHE_Handle *h, void *iter_cls); +/** + * Iterate over the results that are "close" to a particular key in + * the datacache. "close" is defined as numerically larger than @a + * key (when interpreted as a circular address space), with small + * distance. + * + * @param h handle to the datacache + * @param key area of the keyspace to look into + * @param num_results number of results that should be returned to @a iter + * @param iter maybe NULL (to just count) + * @param iter_cls closure for @a iter + * @return the number of results found + */ +unsigned int +GNUNET_DATACACHE_get_closest (struct GNUNET_DATACACHE_Handle *h, + const struct GNUNET_HashCode *key, + unsigned int num_results, + GNUNET_DATACACHE_Iterator iter, + void *iter_cls); #if 0 /* keep Emacsens' auto-indent happy */ -- cgit v1.2.3