GNUnet is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
- by the Free Software Foundation; either version 2, or (at your
+ by the Free Software Foundation; either version 3, or (at your
option) any later version.
GNUnet is distributed in the hope that it will be useful, but
#ifndef GNUNET_SERVICE_FS_INDEXING_H
#define GNUNET_SERVICE_FS_INDEXING_H
+#include "gnunet_block_lib.h"
#include "gnunet_core_service.h"
#include "gnunet_datastore_service.h"
#include "gnunet_peer_lib.h"
* @param expiration expiration time for the content
* @param uid unique identifier for the datum;
* maybe 0 if no unique identifier is available
- * @param dsh connection to the datastore (to ask for more)
- * @param cont function to call with the actual block
+ * @param cont function to call with the actual block (at most once, on success)
* @param cont_cls closure for cont
+ * @return GNUNET_OK on success
*/
-void
+int
GNUNET_FS_handle_on_demand_block (const GNUNET_HashCode * key,
uint32_t size,
const void *data,
- uint32_t type,
+ enum GNUNET_BLOCK_Type type,
uint32_t priority,
uint32_t anonymity,
struct GNUNET_TIME_Absolute
expiration, uint64_t uid,
- struct GNUNET_DATASTORE_Handle *dsh,
GNUNET_DATASTORE_Iterator cont,
void *cont_cls);
*
* @param s scheduler to use
* @param c configuration to use
+ * @param d datastore to use
+ * @return GNUNET_OK on success
*/
-void
-GNUNET_FS_init_indexing (struct GNUNET_SCHEDULER_Handle *s,
- const struct GNUNET_CONFIGURATION_Handle *c);
+int
+GNUNET_FS_indexing_init (struct GNUNET_SCHEDULER_Handle *s,
+ const struct GNUNET_CONFIGURATION_Handle *c,
+ struct GNUNET_DATASTORE_Handle *d);
#endif