/*
This file is part of GNUnet.
- (C) 2010 Christian Grothoff (and other contributing authors)
+ Copyright (C) 2010 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
You should have received a copy of the GNU General Public License
along with GNUnet; see the file COPYING. If not, write to the
- Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA.
+ Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
*/
/**
* @param lib_ret the plugin API
*/
static void
-add_plugin (void *cls,
- const char *library_name,
+add_plugin (void *cls,
+ const char *library_name,
void *lib_ret)
{
struct GNUNET_BLOCK_Context *ctx = cls;
struct GNUNET_BLOCK_PluginFunctions *api = lib_ret;
struct Plugin *plugin;
- GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"Loading block plugin `%s'\n",
library_name);
plugin = GNUNET_new (struct Plugin);
*
* @param ctx block contxt
* @param type block type
+ * @param eo control flags
* @param query original query (hash)
* @param bf pointer to bloom filter associated with query; possibly updated (!)
* @param bf_mutator mutation value for @a bf
enum GNUNET_BLOCK_EvaluationResult
GNUNET_BLOCK_evaluate (struct GNUNET_BLOCK_Context *ctx,
enum GNUNET_BLOCK_Type type,
- const struct GNUNET_HashCode * query,
+ enum GNUNET_BLOCK_EvaluationOptions eo,
+ const struct GNUNET_HashCode *query,
struct GNUNET_CONTAINER_BloomFilter **bf,
- int32_t bf_mutator, const void *xquery,
- size_t xquery_size, const void *reply_block,
+ int32_t bf_mutator,
+ const void *xquery,
+ size_t xquery_size,
+ const void *reply_block,
size_t reply_block_size)
{
struct GNUNET_BLOCK_PluginFunctions *plugin = find_plugin (ctx, type);
if (plugin == NULL)
return GNUNET_BLOCK_EVALUATION_TYPE_NOT_SUPPORTED;
- return plugin->evaluate (plugin->cls, type, query, bf, bf_mutator, xquery,
- xquery_size, reply_block, reply_block_size);
+ return plugin->evaluate (plugin->cls,
+ type,
+ eo,
+ query,
+ bf,
+ bf_mutator,
+ xquery,
+ xquery_size,
+ reply_block,
+ reply_block_size);
}
*/
int
GNUNET_BLOCK_get_key (struct GNUNET_BLOCK_Context *ctx,
- enum GNUNET_BLOCK_Type type, const void *block,
- size_t block_size, struct GNUNET_HashCode * key)
+ enum GNUNET_BLOCK_Type type,
+ const void *block,
+ size_t block_size,
+ struct GNUNET_HashCode *key)
{
struct GNUNET_BLOCK_PluginFunctions *plugin = find_plugin (ctx, type);
/**
* How many bytes should a bloomfilter be if we have already seen
- * entry_count responses? Note that GNUNET_CONSTANTS_BLOOMFILTER_K gives us the number
- * of bits set per entry. Furthermore, we should not re-size the
- * filter too often (to keep it cheap).
+ * entry_count responses? Note that #GNUNET_CONSTANTS_BLOOMFILTER_K
+ * gives us the number of bits set per entry. Furthermore, we should
+ * not re-size the filter too often (to keep it cheap).
*
* Since other peers will also add entries but not resize the filter,
* we should generally pick a slightly larger size than what the
*/
struct GNUNET_CONTAINER_BloomFilter *
GNUNET_BLOCK_construct_bloomfilter (int32_t bf_mutator,
- const struct GNUNET_HashCode * seen_results,
+ const struct GNUNET_HashCode *seen_results,
unsigned int seen_results_count)
{
struct GNUNET_CONTAINER_BloomFilter *bf;