diff options
Diffstat (limited to 'src/include/gnunet_datacache_lib.h')
-rw-r--r-- | src/include/gnunet_datacache_lib.h | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/src/include/gnunet_datacache_lib.h b/src/include/gnunet_datacache_lib.h index 84cb4d6..4f97ee5 100644 --- a/src/include/gnunet_datacache_lib.h +++ b/src/include/gnunet_datacache_lib.h @@ -74,18 +74,22 @@ GNUNET_DATACACHE_destroy (struct GNUNET_DATACACHE_Handle *h); * An iterator over a set of items stored in the datacache. * * @param cls closure - * @param exp when will the content expire? * @param key key for the content * @param size number of bytes in data * @param data content stored * @param type type of the content + * @param exp when will the content expire? + * @param path_info_len number of entries in 'path_info' + * @param path_info a path through the network * @return GNUNET_OK to continue iterating, GNUNET_SYSERR to abort */ typedef int (*GNUNET_DATACACHE_Iterator) (void *cls, - struct GNUNET_TIME_Absolute exp, - const GNUNET_HashCode * key, + const struct GNUNET_HashCode *key, size_t size, const char *data, - enum GNUNET_BLOCK_Type type); + enum GNUNET_BLOCK_Type type, + struct GNUNET_TIME_Absolute exp, + unsigned int path_info_len, + const struct GNUNET_PeerIdentity *path_info); /** @@ -97,13 +101,17 @@ typedef int (*GNUNET_DATACACHE_Iterator) (void *cls, * @param data data to store * @param type type of the value * @param discard_time when to discard the value in any case - * @return GNUNET_OK on success, GNUNET_SYSERR on error (full, etc.) + * @param path_info_len number of entries in 'path_info' + * @param path_info a path through the network + * @return GNUNET_OK on success, GNUNET_SYSERR on error, GNUNET_NO if duplicate */ int GNUNET_DATACACHE_put (struct GNUNET_DATACACHE_Handle *h, - const GNUNET_HashCode * key, size_t size, + const struct GNUNET_HashCode * key, size_t size, const char *data, enum GNUNET_BLOCK_Type type, - struct GNUNET_TIME_Absolute discard_time); + struct GNUNET_TIME_Absolute discard_time, + unsigned int path_info_len, + const struct GNUNET_PeerIdentity *path_info); /** @@ -119,7 +127,7 @@ GNUNET_DATACACHE_put (struct GNUNET_DATACACHE_Handle *h, */ unsigned int GNUNET_DATACACHE_get (struct GNUNET_DATACACHE_Handle *h, - const GNUNET_HashCode * key, enum GNUNET_BLOCK_Type type, + const struct GNUNET_HashCode * key, enum GNUNET_BLOCK_Type type, GNUNET_DATACACHE_Iterator iter, void *iter_cls); |