#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