/*
This file is part of GNUnet.
- (C) 2011 Christian Grothoff (and other contributing authors)
+ Copyright (C) 2011 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.
*/
/**
/**
* ID of task that collects blocks for DHT PUTs.
*/
- GNUNET_SCHEDULER_TaskIdentifier dht_task;
+ struct GNUNET_SCHEDULER_Task * dht_task;
/**
* How many entires with zero anonymity of our type do we currently
* of block that we're putting into the DHT).
*/
static struct PutOperator operators[] = {
- {NULL, GNUNET_BLOCK_TYPE_FS_KBLOCK, 0, 0, 0},
- {NULL, GNUNET_BLOCK_TYPE_FS_SBLOCK, 0, 0, 0},
- {NULL, GNUNET_BLOCK_TYPE_FS_NBLOCK, 0, 0, 0},
+ {NULL, GNUNET_BLOCK_TYPE_FS_UBLOCK, 0, 0, 0},
{NULL, GNUNET_BLOCK_TYPE_ANY, 0, 0, 0}
};
* @param tc scheduler context (unused)
*/
static void
-gather_dht_put_blocks (void *cls,
- const struct GNUNET_SCHEDULER_TaskContext *tc);
+gather_dht_put_blocks (void *cls);
/**
* Task that is run periodically to obtain blocks for DHT PUTs.
*
* @param cls type of blocks to gather
- * @param tc scheduler context
*/
static void
-delay_dht_put_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
+delay_dht_put_task (void *cls)
{
struct PutOperator *po = cls;
- po->dht_task = GNUNET_SCHEDULER_NO_TASK;
+ po->dht_task = NULL;
schedule_next_put (po);
}
* maybe 0 if no unique identifier is available
*/
static void
-process_dht_put_content (void *cls, const GNUNET_HashCode * key, size_t size,
- const void *data, enum GNUNET_BLOCK_Type type,
+process_dht_put_content (void *cls,
+ const struct GNUNET_HashCode * key,
+ size_t size,
+ const void *data,
+ enum GNUNET_BLOCK_Type type,
uint32_t priority, uint32_t anonymity,
struct GNUNET_TIME_Absolute expiration, uint64_t uid)
{
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"Retrieved block `%s' of type %u for DHT PUT\n", GNUNET_h2s (key),
type);
- po->dht_put = GNUNET_DHT_put (GSF_dht, key, DEFAULT_PUT_REPLICATION,
- GNUNET_DHT_RO_DEMULTIPLEX_EVERYWHERE, type, size, data,
- expiration, GNUNET_TIME_UNIT_FOREVER_REL,
+ po->dht_put = GNUNET_DHT_put (GSF_dht,
+ key,
+ DEFAULT_PUT_REPLICATION,
+ GNUNET_DHT_RO_DEMULTIPLEX_EVERYWHERE,
+ type,
+ size,
+ data,
+ expiration,
&delay_dht_put_blocks, po);
}
* Task that is run periodically to obtain blocks for DHT PUTs.
*
* @param cls type of blocks to gather
- * @param tc scheduler context (unused)
*/
static void
-gather_dht_put_blocks (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
+gather_dht_put_blocks (void *cls)
{
struct PutOperator *po = cls;
- po->dht_task = GNUNET_SCHEDULER_NO_TASK;
- if (0 != (tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN))
- return;
+ po->dht_task = NULL;
po->dht_qe =
GNUNET_DATASTORE_get_zero_anonymity (GSF_dsh, po->current_offset++, 0,
UINT_MAX,
- GNUNET_TIME_UNIT_FOREVER_REL,
po->dht_put_type,
&process_dht_put_content, po);
if (NULL == po->dht_qe)
i = 0;
while ((po = &operators[i])->dht_put_type != GNUNET_BLOCK_TYPE_ANY)
{
- if (GNUNET_SCHEDULER_NO_TASK != po->dht_task)
+ if (NULL != po->dht_task)
{
GNUNET_SCHEDULER_cancel (po->dht_task);
- po->dht_task = GNUNET_SCHEDULER_NO_TASK;
+ po->dht_task = NULL;
}
if (NULL != po->dht_put)
{