/*
This file is part of GNUnet.
- Copyright (C) 2009, 2010, 2011, 2015 GNUnet e.V.
+ Copyright (C) 2009, 2010, 2011, 2015, 2017 GNUnet e.V.
GNUnet is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
*/
const void *xquery;
- /**
- * Bloomfilter to filter out duplicate replies (updated)
- */
- struct GNUNET_CONTAINER_BloomFilter **reply_bf;
-
/**
* The key this request was about
*/
struct GNUNET_HashCode key;
/**
- * Number of bytes in xquery.
+ * Block group to use to evaluate replies (updated)
*/
- size_t xquery_size;
+ struct GNUNET_BLOCK_Group *bg;
/**
- * Mutator value for the @e reply_bf, see gnunet_block_lib.h
+ * Function to call on results.
*/
- uint32_t reply_bf_mutator;
+ GDS_DATACACHE_GetCallback gc;
/**
- * Return value to give back.
+ * Closure for @e gc.
*/
- enum GNUNET_BLOCK_EvaluationResult eval;
+ void *gc_cls;
/**
- * Function to call on results.
+ * Number of bytes in xquery.
*/
- GDS_DATACACHE_GetCallback gc;
+ size_t xquery_size;
/**
- * Closure for @e gc.
+ * Return value to give back.
*/
- void *gc_cls;
+ enum GNUNET_BLOCK_EvaluationResult eval;
};
eval
= GNUNET_BLOCK_evaluate (GDS_block_context,
type,
+ ctx->bg,
GNUNET_BLOCK_EO_LOCAL_SKIP_CRYPTO,
key,
- ctx->reply_bf,
- ctx->reply_bf_mutator,
ctx->xquery,
ctx->xquery_size,
data,
* @param type requested data type
* @param xquery extended query
* @param xquery_size number of bytes in @a xquery
- * @param reply_bf where the reply bf is (to be) stored, possibly updated, can be NULL
- * @param reply_bf_mutator mutation value for @a reply_bf
+ * @param bg block group to use for reply evaluation
* @param gc function to call on the results
* @param gc_cls closure for @a gc
* @return evaluation result for the local replies
enum GNUNET_BLOCK_Type type,
const void *xquery,
size_t xquery_size,
- struct GNUNET_CONTAINER_BloomFilter **reply_bf,
- uint32_t reply_bf_mutator,
+ struct GNUNET_BLOCK_Group *bg,
GDS_DATACACHE_GetCallback gc,
void *gc_cls)
{
ctx.key = *key;
ctx.xquery = xquery;
ctx.xquery_size = xquery_size;
- ctx.reply_bf = reply_bf;
- ctx.reply_bf_mutator = reply_bf_mutator;
+ ctx.bg = bg;
ctx.gc = gc;
ctx.gc_cls = gc_cls;
r = GNUNET_DATACACHE_get (datacache,