[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r8773 - in gnunet/src: arm core datastore hostlist include
From: |
gnunet |
Subject: |
[GNUnet-SVN] r8773 - in gnunet/src: arm core datastore hostlist include peerinfo topology transport util |
Date: |
Fri, 24 Jul 2009 16:04:41 -0600 |
Author: grothoff
Date: 2009-07-24 16:04:41 -0600 (Fri, 24 Jul 2009)
New Revision: 8773
Modified:
gnunet/src/arm/gnunet-service-arm.c
gnunet/src/core/core_api.c
gnunet/src/core/gnunet-service-core.c
gnunet/src/core/test_core_api.c
gnunet/src/datastore/gnunet-service-datastore.c
gnunet/src/datastore/perf_datastore_api.c
gnunet/src/datastore/perf_plugin_datastore.c
gnunet/src/datastore/plugin_datastore_sqlite.c
gnunet/src/hostlist/gnunet-daemon-hostlist.c
gnunet/src/hostlist/hostlist-client.c
gnunet/src/hostlist/hostlist-server.c
gnunet/src/include/gnunet_network_lib.h
gnunet/src/include/gnunet_scheduler_lib.h
gnunet/src/include/gnunet_server_lib.h
gnunet/src/peerinfo/gnunet-service-peerinfo.c
gnunet/src/topology/gnunet-daemon-topology.c
gnunet/src/transport/gnunet-service-transport.c
gnunet/src/transport/plugin_transport_tcp.c
gnunet/src/transport/test_plugin_transport.c
gnunet/src/transport/transport_api.c
gnunet/src/util/client.c
gnunet/src/util/crypto_hash.c
gnunet/src/util/disk.c
gnunet/src/util/network.c
gnunet/src/util/scheduler.c
gnunet/src/util/server.c
gnunet/src/util/test_network.c
gnunet/src/util/test_network_addressing.c
gnunet/src/util/test_network_receive_cancel.c
gnunet/src/util/test_scheduler.c
gnunet/src/util/test_scheduler_delay.c
gnunet/src/util/test_server.c
gnunet/src/util/test_server_disconnect.c
gnunet/src/util/test_server_with_client.c
Log:
quota management and better name for NO_TASK'
'
Modified: gnunet/src/arm/gnunet-service-arm.c
===================================================================
--- gnunet/src/arm/gnunet-service-arm.c 2009-07-24 17:56:28 UTC (rev 8772)
+++ gnunet/src/arm/gnunet-service-arm.c 2009-07-24 22:04:41 UTC (rev 8773)
@@ -561,7 +561,7 @@
GNUNET_SCHEDULER_add_delayed (tc->sched,
GNUNET_YES,
GNUNET_SCHEDULER_PRIORITY_IDLE,
- GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
+ GNUNET_SCHEDULER_NO_TASK,
MAINT_FREQUENCY, &maint, cfg);
/* check for services that died (WAITPID) */
@@ -723,7 +723,7 @@
GNUNET_SCHEDULER_add_delayed (sched,
GNUNET_YES,
GNUNET_SCHEDULER_PRIORITY_IDLE,
- GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
+ GNUNET_SCHEDULER_NO_TASK,
MAINT_FREQUENCY, &maint, NULL);
}
Modified: gnunet/src/core/core_api.c
===================================================================
--- gnunet/src/core/core_api.c 2009-07-24 17:56:28 UTC (rev 8772)
+++ gnunet/src/core/core_api.c 2009-07-24 22:04:41 UTC (rev 8773)
@@ -277,7 +277,7 @@
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"Transmission request timed out.\n");
h = th->ch;
- th->timeout_task = GNUNET_SCHEDULER_NO_PREREQUISITE_TASK;
+ th->timeout_task = GNUNET_SCHEDULER_NO_TASK;
GNUNET_assert (0 == th->get_message (th->get_message_cls, 0, NULL));
GNUNET_CORE_notify_transmit_ready_cancel (th);
}
@@ -310,7 +310,7 @@
th->timeout_task = GNUNET_SCHEDULER_add_delayed (h->sched,
GNUNET_NO,
GNUNET_SCHEDULER_PRIORITY_KEEP,
-
GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
+ GNUNET_SCHEDULER_NO_TASK,
GNUNET_TIME_absolute_get_remaining
(th->timeout),
&timeout_request, th);
@@ -344,7 +344,7 @@
return; /* no requests pending */
GNUNET_assert (NULL == h->th);
GNUNET_SCHEDULER_cancel (h->sched, th->timeout_task);
- th->timeout_task = GNUNET_SCHEDULER_NO_PREREQUISITE_TASK;
+ th->timeout_task = GNUNET_SCHEDULER_NO_TASK;
h->th = GNUNET_CLIENT_notify_transmit_ready (h->client,
th->msize,
GNUNET_TIME_absolute_get_remaining
@@ -660,7 +660,7 @@
reconnect_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
{
struct GNUNET_CORE_Handle *h = cls;
- h->reconnect_task = GNUNET_SCHEDULER_NO_PREREQUISITE_TASK;
+ h->reconnect_task = GNUNET_SCHEDULER_NO_TASK;
reconnect (h);
}
@@ -702,7 +702,7 @@
h->reconnect_task =
GNUNET_SCHEDULER_add_delayed (h->sched, GNUNET_NO,
GNUNET_SCHEDULER_PRIORITY_IDLE,
-
GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
+ GNUNET_SCHEDULER_NO_TASK,
delay, &reconnect_task, h);
return 0;
}
@@ -837,7 +837,7 @@
{
if (handle->th != NULL)
GNUNET_NETWORK_notify_transmit_ready_cancel (handle->th);
- if (handle->reconnect_task != GNUNET_SCHEDULER_NO_PREREQUISITE_TASK)
+ if (handle->reconnect_task != GNUNET_SCHEDULER_NO_TASK)
GNUNET_SCHEDULER_cancel (handle->sched, handle->reconnect_task);
GNUNET_CLIENT_disconnect (handle->client);
GNUNET_free (handle);
@@ -858,7 +858,7 @@
/* communicate handle timeout/error! */
if (th->info != NULL)
th->info (th->info_cls, NULL, 0, 0, GNUNET_TIME_UNIT_ZERO, 0, 0.0);
- if (th->timeout_task != GNUNET_SCHEDULER_NO_PREREQUISITE_TASK)
+ if (th->timeout_task != GNUNET_SCHEDULER_NO_TASK)
GNUNET_CORE_notify_transmit_ready_cancel (th);
if (ch->submitted == th)
ch->submitted = NULL;
@@ -934,7 +934,7 @@
th->timeout_task = GNUNET_SCHEDULER_add_delayed (handle->sched,
GNUNET_NO,
GNUNET_SCHEDULER_PRIORITY_KEEP,
-
GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
+ GNUNET_SCHEDULER_NO_TASK,
timeout,
&timeout_request, th);
th->msize = sizeof (struct RequestConfigureMessage);
@@ -974,7 +974,7 @@
GNUNET_i2s(&th->peer));
#endif
GNUNET_assert (0 == th->notify (th->notify_cls, 0, NULL));
- if (th->timeout_task != GNUNET_SCHEDULER_NO_PREREQUISITE_TASK)
+ if (th->timeout_task != GNUNET_SCHEDULER_NO_TASK)
GNUNET_CORE_notify_transmit_ready_cancel (th);
trigger_next_request (h);
return 0;
@@ -984,7 +984,7 @@
"Preparing for P2P transmission to `%4s'.\n",
GNUNET_i2s(&th->peer));
#endif
- GNUNET_assert (th->timeout_task != GNUNET_SCHEDULER_NO_PREREQUISITE_TASK);
+ GNUNET_assert (th->timeout_task != GNUNET_SCHEDULER_NO_TASK);
sm = (struct SendMessage *) buf;
sm->header.type = htons (GNUNET_MESSAGE_TYPE_CORE_SEND);
sm->priority = htonl (th->priority);
@@ -1050,7 +1050,7 @@
th->timeout_task = GNUNET_SCHEDULER_add_delayed (handle->sched,
GNUNET_NO,
GNUNET_SCHEDULER_PRIORITY_KEEP,
-
GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
+ GNUNET_SCHEDULER_NO_TASK,
maxdelay,
&timeout_request, th);
th->priority = priority;
@@ -1088,7 +1088,7 @@
else
h->next->prev = h->prev;
}
- if (h->timeout_task != GNUNET_SCHEDULER_NO_PREREQUISITE_TASK)
+ if (h->timeout_task != GNUNET_SCHEDULER_NO_TASK)
GNUNET_SCHEDULER_cancel (handle->sched, h->timeout_task);
GNUNET_free (h);
}
Modified: gnunet/src/core/gnunet-service-core.c
===================================================================
--- gnunet/src/core/gnunet-service-core.c 2009-07-24 17:56:28 UTC (rev
8772)
+++ gnunet/src/core/gnunet-service-core.c 2009-07-24 22:04:41 UTC (rev
8773)
@@ -1595,7 +1595,7 @@
{
struct Neighbour *n = cls;
- n->retry_plaintext_task = GNUNET_SCHEDULER_NO_PREREQUISITE_TASK;
+ n->retry_plaintext_task = GNUNET_SCHEDULER_NO_TASK;
process_plaintext_neighbour_queue (n);
}
@@ -1628,10 +1628,10 @@
struct GNUNET_TIME_Absolute deadline;
struct GNUNET_TIME_Relative retry_time;
- if (n->retry_plaintext_task != GNUNET_SCHEDULER_NO_PREREQUISITE_TASK)
+ if (n->retry_plaintext_task != GNUNET_SCHEDULER_NO_TASK)
{
GNUNET_SCHEDULER_cancel (sched, n->retry_plaintext_task);
- n->retry_plaintext_task = GNUNET_SCHEDULER_NO_PREREQUISITE_TASK;
+ n->retry_plaintext_task = GNUNET_SCHEDULER_NO_TASK;
}
switch (n->status)
{
@@ -1645,7 +1645,7 @@
return;
case PEER_STATE_KEY_SENT:
GNUNET_assert (n->retry_set_key_task !=
- GNUNET_SCHEDULER_NO_PREREQUISITE_TASK);
+ GNUNET_SCHEDULER_NO_TASK);
#if DEBUG_CORE
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"Not yet connected to `%4s', deferring processing of
plaintext messages.\n",
@@ -1654,7 +1654,7 @@
return;
case PEER_STATE_KEY_RECEIVED:
GNUNET_assert (n->retry_set_key_task !=
- GNUNET_SCHEDULER_NO_PREREQUISITE_TASK);
+ GNUNET_SCHEDULER_NO_TASK);
#if DEBUG_CORE
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"Not yet connected to `%4s', deferring processing of
plaintext messages.\n",
@@ -1705,7 +1705,7 @@
GNUNET_SCHEDULER_add_delayed (sched,
GNUNET_NO,
GNUNET_SCHEDULER_PRIORITY_IDLE,
- GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
+ GNUNET_SCHEDULER_NO_TASK,
retry_time,
&retry_plaintext_processing, n);
return;
@@ -2021,7 +2021,7 @@
struct Neighbour *n = cls;
GNUNET_assert (n->status != PEER_STATE_KEY_CONFIRMED);
- n->retry_set_key_task = GNUNET_SCHEDULER_NO_PREREQUISITE_TASK;
+ n->retry_set_key_task = GNUNET_SCHEDULER_NO_TASK;
n->set_key_retry_frequency =
GNUNET_TIME_relative_multiply (n->set_key_retry_frequency, 2);
send_key (n);
@@ -2148,7 +2148,7 @@
= GNUNET_SCHEDULER_add_delayed (sched,
GNUNET_NO,
GNUNET_SCHEDULER_PRIORITY_KEEP,
- GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
+ GNUNET_SCHEDULER_NO_TASK,
n->set_key_retry_frequency,
&set_key_retry_task, n);
}
@@ -2484,10 +2484,10 @@
return;
case PEER_STATE_KEY_RECEIVED:
n->status = PEER_STATE_KEY_CONFIRMED;
- if (n->retry_set_key_task != GNUNET_SCHEDULER_NO_PREREQUISITE_TASK)
+ if (n->retry_set_key_task != GNUNET_SCHEDULER_NO_TASK)
{
GNUNET_SCHEDULER_cancel (sched, n->retry_set_key_task);
- n->retry_set_key_task = GNUNET_SCHEDULER_NO_PREREQUISITE_TASK;
+ n->retry_set_key_task = GNUNET_SCHEDULER_NO_TASK;
}
process_encrypted_neighbour_queue (n);
break;
@@ -2883,12 +2883,12 @@
schedule_quota_update (struct Neighbour *n)
{
GNUNET_assert (n->quota_update_task ==
- GNUNET_SCHEDULER_NO_PREREQUISITE_TASK);
+ GNUNET_SCHEDULER_NO_TASK);
n->quota_update_task
= GNUNET_SCHEDULER_add_delayed (sched,
GNUNET_NO,
GNUNET_SCHEDULER_PRIORITY_IDLE,
- GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
+ GNUNET_SCHEDULER_NO_TASK,
QUOTA_UPDATE_FREQUENCY,
&neighbour_quota_update,
n);
@@ -2912,7 +2912,7 @@
double share;
unsigned long long distributable;
- n->quota_update_task = GNUNET_SCHEDULER_NO_PREREQUISITE_TASK;
+ n->quota_update_task = GNUNET_SCHEDULER_NO_TASK;
/* calculate relative preference among all neighbours;
divides by a bit more to avoid division by zero AND to
account for possibility of new neighbours joining any time
@@ -3022,11 +3022,11 @@
}
if (NULL != n->th)
GNUNET_TRANSPORT_notify_transmit_ready_cancel (n->th);
- if (n->retry_plaintext_task != GNUNET_SCHEDULER_NO_PREREQUISITE_TASK)
+ if (n->retry_plaintext_task != GNUNET_SCHEDULER_NO_TASK)
GNUNET_SCHEDULER_cancel (sched, n->retry_plaintext_task);
- if (n->retry_set_key_task != GNUNET_SCHEDULER_NO_PREREQUISITE_TASK)
+ if (n->retry_set_key_task != GNUNET_SCHEDULER_NO_TASK)
GNUNET_SCHEDULER_cancel (sched, n->retry_set_key_task);
- if (n->quota_update_task != GNUNET_SCHEDULER_NO_PREREQUISITE_TASK)
+ if (n->quota_update_task != GNUNET_SCHEDULER_NO_TASK)
GNUNET_SCHEDULER_cancel (sched, n->quota_update_task);
GNUNET_free_non_null (n->public_key);
GNUNET_free_non_null (n->pending_ping);
@@ -3192,7 +3192,7 @@
GNUNET_SCHEDULER_add_delayed (sched,
GNUNET_YES,
GNUNET_SCHEDULER_PRIORITY_IDLE,
- GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
+ GNUNET_SCHEDULER_NO_TASK,
GNUNET_TIME_UNIT_FOREVER_REL,
&cleaning_task, NULL);
/* process client requests */
Modified: gnunet/src/core/test_core_api.c
===================================================================
--- gnunet/src/core/test_core_api.c 2009-07-24 17:56:28 UTC (rev 8772)
+++ gnunet/src/core/test_core_api.c 2009-07-24 22:04:41 UTC (rev 8773)
@@ -173,7 +173,7 @@
GNUNET_SCHEDULER_add_delayed (sched,
GNUNET_NO,
GNUNET_SCHEDULER_PRIORITY_KEEP,
- GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
+ GNUNET_SCHEDULER_NO_TASK,
GNUNET_TIME_UNIT_ZERO, &terminate_task, NULL);
return GNUNET_OK;
}
@@ -202,7 +202,7 @@
GNUNET_SCHEDULER_add_delayed (sched,
GNUNET_NO,
GNUNET_SCHEDULER_PRIORITY_KEEP,
- GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
+ GNUNET_SCHEDULER_NO_TASK,
GNUNET_TIME_UNIT_MINUTES,
&terminate_task_error, NULL);
return sizeof (struct GNUNET_MessageHeader);
Modified: gnunet/src/datastore/gnunet-service-datastore.c
===================================================================
--- gnunet/src/datastore/gnunet-service-datastore.c 2009-07-24 17:56:28 UTC
(rev 8772)
+++ gnunet/src/datastore/gnunet-service-datastore.c 2009-07-24 22:04:41 UTC
(rev 8773)
@@ -22,13 +22,6 @@
* @file datastore/gnunet-service-datastore.c
* @brief Management for the datastore for files stored on a GNUnet node
* @author Christian Grothoff
- *
- * TODO:
- * quota management code:
- * - track storage use
- * - refuse above-quota
- * - content expiration job
- * - near-quota low-priority content discard job
*/
#include "platform.h"
@@ -42,7 +35,14 @@
*/
#define MAX_PENDING 1024
+/**
+ * How long are we at most keeping "expired" content
+ * past the expiration date in the database?
+ */
+#define MAX_EXPIRE_DELAY GNUNET_TIME_relative_multiply
(GNUNET_TIME_UNIT_MINUTES, 15)
+
+
/**
* Our datastore plugin.
*/
@@ -134,12 +134,36 @@
static unsigned long long quota;
/**
+ * How much space are we using for the cache?
+ * (space available for insertions that will be
+ * instantly reclaimed by discarding less
+ * important content --- or possibly whatever
+ * we just inserted into the "cache").
+ */
+static unsigned long long cache_size;
+
+/**
* How much space have we currently reserved?
*/
static unsigned long long reserved;
+/**
+ * Identity of the task that is used to delete
+ * expired content.
+ */
+static GNUNET_SCHEDULER_TaskIdentifier expired_kill_task;
/**
+ * Our configuration.
+ */
+struct GNUNET_CONFIGURATION_Handle *cfg;
+
+/**
+ * Our scheduler.
+ */
+struct GNUNET_SCHEDULER_Handle *sched;
+
+/**
* Function called once the transmit operation has
* either failed or succeeded.
*
@@ -149,6 +173,7 @@
typedef void (*TransmitContinuation)(void *cls,
int status);
+
struct TransmitCallbackContext
{
/**
@@ -181,6 +206,176 @@
/**
+ * Task that is used to remove expired entries from
+ * the datastore. This task will schedule itself
+ * again automatically to always delete all expired
+ * content quickly.
+ *
+ * @param cls not used
+ * @param tc task context
+ */
+static void
+delete_expired (void *cls,
+ const struct GNUNET_SCHEDULER_TaskContext *tc);
+
+
+/**
+ * Iterate over the expired items stored in the datastore.
+ * Delete all expired items; once we have processed all
+ * expired items, re-schedule the "delete_expired" task.
+ *
+ * @param cls not used
+ * @param next_cls closure to pass to the "next" function.
+ * @param key key for the content
+ * @param size number of bytes in data
+ * @param data content stored
+ * @param type type of the content
+ * @param priority priority of the content
+ * @param anonymity anonymity-level for the content
+ * @param expiration expiration time for the content
+ * @param uid unique identifier for the datum;
+ * maybe 0 if no unique identifier is available
+ *
+ * @return GNUNET_SYSERR to abort the iteration, GNUNET_OK to continue
+ * (continue on call to "next", of course),
+ * GNUNET_NO to delete the item and continue (if supported)
+ */
+static int
+expired_processor (void *cls,
+ void *next_cls,
+ const GNUNET_HashCode * key,
+ uint32_t size,
+ const void *data,
+ uint32_t type,
+ uint32_t priority,
+ uint32_t anonymity,
+ struct GNUNET_TIME_Absolute
+ expiration,
+ uint64_t uid)
+{
+ struct GNUNET_TIME_Absolute now;
+
+ expired_kill_task = GNUNET_SCHEDULER_NO_TASK;
+ if (key == NULL)
+ {
+ expired_kill_task
+ = GNUNET_SCHEDULER_add_delayed (sched,
+ GNUNET_NO,
+ GNUNET_SCHEDULER_PRIORITY_IDLE,
+ GNUNET_SCHEDULER_NO_TASK,
+ MAX_EXPIRE_DELAY,
+ &delete_expired,
+ NULL);
+ return GNUNET_SYSERR;
+ }
+ now = GNUNET_TIME_absolute_get ();
+ if (expiration.value > now.value)
+ {
+ /* finished processing */
+ plugin->api->next_request (next_cls, GNUNET_YES);
+ return GNUNET_SYSERR;
+ }
+ plugin->api->next_request (next_cls, GNUNET_NO);
+ return GNUNET_NO; /* delete */
+}
+
+
+/**
+ * Task that is used to remove expired entries from
+ * the datastore. This task will schedule itself
+ * again automatically to always delete all expired
+ * content quickly.
+ *
+ * @param cls not used
+ * @param tc task context
+ */
+static void
+delete_expired (void *cls,
+ const struct GNUNET_SCHEDULER_TaskContext *tc)
+{
+ plugin->api->iter_ascending_expiration (plugin->api->cls,
+ 0,
+ &expired_processor,
+ NULL);
+}
+
+
+/**
+ * An iterator over a set of items stored in the datastore.
+ *
+ * @param cls closure
+ * @param next_cls closure to pass to the "next" function.
+ * @param key key for the content
+ * @param size number of bytes in data
+ * @param data content stored
+ * @param type type of the content
+ * @param priority priority of the content
+ * @param anonymity anonymity-level for the content
+ * @param expiration expiration time for the content
+ * @param uid unique identifier for the datum;
+ * maybe 0 if no unique identifier is available
+ *
+ * @return GNUNET_SYSERR to abort the iteration, GNUNET_OK to continue
+ * (continue on call to "next", of course),
+ * GNUNET_NO to delete the item and continue (if supported)
+ */
+static int
+manage (void *cls,
+ void *next_cls,
+ const GNUNET_HashCode * key,
+ uint32_t size,
+ const void *data,
+ uint32_t type,
+ uint32_t priority,
+ uint32_t anonymity,
+ struct GNUNET_TIME_Absolute
+ expiration,
+ uint64_t uid)
+{
+ unsigned long long *need = cls;
+
+ if (NULL == key)
+ {
+ GNUNET_free (need);
+ return GNUNET_SYSERR;
+ }
+ if (size + GNUNET_DATASTORE_ENTRY_OVERHEAD > *need)
+ *need = 0;
+ else
+ *need -= size + GNUNET_DATASTORE_ENTRY_OVERHEAD;
+ plugin->api->next_request (next_cls,
+ (0 == *need) ? GNUNET_YES : GNUNET_NO);
+ return GNUNET_NO;
+}
+
+
+/**
+ * Manage available disk space by running tasks
+ * that will discard content if necessary. This
+ * function will be run whenever a request for
+ * "need" bytes of storage could only be satisfied
+ * by eating into the "cache" (and we want our cache
+ * space back).
+ *
+ * @param need number of bytes of content that were
+ * placed into the "cache" (and hence the
+ * number of bytes that should be removed).
+ */
+static void
+manage_space (unsigned long long need)
+{
+ unsigned long long *n;
+
+ n = GNUNET_malloc (sizeof(unsigned long long));
+ *n = need;
+ plugin->api->iter_low_priority (plugin->api->cls,
+ 0,
+ &manage,
+ n);
+}
+
+
+/**
* Function called to notify a client about the socket
* begin ready to queue more data. "buf" will be
* NULL and "size" zero if the socket was closed for
@@ -446,13 +641,32 @@
if (used + req > quota)
{
if (quota < used)
- used = quota; /* cheat a bit */
+ used = quota; /* cheat a bit for error message (to avoid negative
numbers) */
GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
_("Insufficient space (%llu bytes are available) to satisfy
`%s' request for %llu bytes\n"),
quota - used,
"RESERVE",
req);
- transmit_status (client, 0, gettext_noop ("Insufficient space to satisfy
request"));
+ if (cache_size < req)
+ {
+ /* TODO: document this in the FAQ; essentially, if this
+ message happens, the insertion request could be blocked
+ by less-important content from migration because it is
+ larger than 1/8th of the overall available space, and
+ we only reserve 1/8th for "fresh" insertions */
+ GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
+ _("The requested amount (%llu bytes) is larger than the
cache size (%llu bytes)\n"),
+ req,
+ cache_size);
+ transmit_status (client, 0,
+ gettext_noop ("Insufficient space to satisfy request
and "
+ "requested amount is larger than cache
size"));
+ }
+ else
+ {
+ transmit_status (client, 0,
+ gettext_noop ("Insufficient space to satisfy
request"));
+ }
return;
}
reserved += req;
@@ -623,6 +837,8 @@
(GNUNET_SYSERR == ret) ? GNUNET_SYSERR : GNUNET_OK,
msg);
GNUNET_free_non_null (msg);
+ if (quota - reserved - cache_size < plugin->api->get_size (plugin->api->cls))
+ manage_space (size + GNUNET_DATASTORE_ENTRY_OVERHEAD);
}
@@ -894,8 +1110,7 @@
* Load the datastore plugin.
*/
static struct DatastorePlugin *
-load_plugin (struct GNUNET_CONFIGURATION_Handle *cfg,
- struct GNUNET_SCHEDULER_Handle *sched)
+load_plugin ()
{
struct DatastorePlugin *ret;
char *libname;
@@ -978,7 +1193,30 @@
struct GNUNET_SERVER_Client
* client)
{
- /* FIXME */
+ struct ReservationList *pos;
+ struct ReservationList *prev;
+ struct ReservationList *next;
+
+ prev = NULL;
+ pos = reservations;
+ while (NULL != pos)
+ {
+ next = pos->next;
+ if (pos->client == client)
+ {
+ if (prev == NULL)
+ reservations = next;
+ else
+ prev->next = next;
+ reserved -= pos->amount + pos->entries *
GNUNET_DATASTORE_ENTRY_OVERHEAD;
+ GNUNET_free (pos);
+ }
+ else
+ {
+ prev = pos;
+ }
+ pos = next;
+ }
}
@@ -986,19 +1224,21 @@
* Process datastore requests.
*
* @param cls closure
- * @param sched scheduler to use
+ * @param s scheduler to use
* @param server the initialized server
- * @param cfg configuration to use
+ * @param c configuration to use
*/
static void
run (void *cls,
- struct GNUNET_SCHEDULER_Handle *sched,
+ struct GNUNET_SCHEDULER_Handle *s,
struct GNUNET_SERVER_Handle *server,
- struct GNUNET_CONFIGURATION_Handle *cfg)
+ struct GNUNET_CONFIGURATION_Handle *c)
{
char *fn;
unsigned int bf_size;
+ sched = s;
+ cfg = c;
if (GNUNET_OK !=
GNUNET_CONFIGURATION_get_value_number (cfg,
"DATASTORE", "QUOTA", "a))
@@ -1009,6 +1249,7 @@
"DATASTORE");
return;
}
+ cache_size = quota / 8; /* Or should we make this an option? */
bf_size = quota / 32; /* 8 bit per entry, 1 bit per 32 kb in DB */
fn = NULL;
if ( (GNUNET_OK !=
@@ -1033,7 +1274,7 @@
_("Failed to initialize bloomfilter.\n"));
return;
}
- plugin = load_plugin (cfg, sched);
+ plugin = load_plugin ();
if (NULL == plugin)
{
GNUNET_CONTAINER_bloomfilter_free (filter);
@@ -1041,12 +1282,20 @@
}
GNUNET_SERVER_disconnect_notify (server, &cleanup_reservations, NULL);
GNUNET_SERVER_add_handlers (server, handlers);
+ expired_kill_task
+ = GNUNET_SCHEDULER_add_delayed (sched,
+ GNUNET_NO,
+ GNUNET_SCHEDULER_PRIORITY_IDLE,
+ GNUNET_SCHEDULER_NO_TASK,
+ GNUNET_TIME_UNIT_ZERO,
+ &delete_expired, NULL);
GNUNET_SCHEDULER_add_delayed (sched,
GNUNET_YES,
GNUNET_SCHEDULER_PRIORITY_IDLE,
- GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
+ GNUNET_SCHEDULER_NO_TASK,
GNUNET_TIME_UNIT_FOREVER_REL,
&cleaning_task, NULL);
+
}
Modified: gnunet/src/datastore/perf_datastore_api.c
===================================================================
--- gnunet/src/datastore/perf_datastore_api.c 2009-07-24 17:56:28 UTC (rev
8772)
+++ gnunet/src/datastore/perf_datastore_api.c 2009-07-24 22:04:41 UTC (rev
8773)
@@ -223,7 +223,7 @@
GNUNET_SCHEDULER_add_after (crc->sched,
GNUNET_NO,
GNUNET_SCHEDULER_PRIORITY_HIGH,
- GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
+ GNUNET_SCHEDULER_NO_TASK,
&do_delete,
crc);
return;
Modified: gnunet/src/datastore/perf_plugin_datastore.c
===================================================================
--- gnunet/src/datastore/perf_plugin_datastore.c 2009-07-24 17:56:28 UTC
(rev 8772)
+++ gnunet/src/datastore/perf_plugin_datastore.c 2009-07-24 22:04:41 UTC
(rev 8773)
@@ -170,7 +170,7 @@
GNUNET_SCHEDULER_add_after (crc->sched,
GNUNET_NO,
GNUNET_SCHEDULER_PRIORITY_KEEP,
- GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
+ GNUNET_SCHEDULER_NO_TASK,
&test, crc);
return GNUNET_OK;
}
@@ -255,7 +255,7 @@
GNUNET_SCHEDULER_add_after (crc->sched,
GNUNET_NO,
GNUNET_SCHEDULER_PRIORITY_KEEP,
- GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
+ GNUNET_SCHEDULER_NO_TASK,
&test, crc);
break;
case RP_LP_GET:
@@ -303,7 +303,7 @@
GNUNET_SCHEDULER_add_delayed (crc->sched,
GNUNET_YES,
GNUNET_SCHEDULER_PRIORITY_IDLE,
- GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
+ GNUNET_SCHEDULER_NO_TASK,
GNUNET_TIME_UNIT_ZERO,
&cleaning_task, crc);
break;
@@ -365,7 +365,7 @@
GNUNET_SCHEDULER_add_after (s,
GNUNET_YES,
GNUNET_SCHEDULER_PRIORITY_KEEP,
- GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
+ GNUNET_SCHEDULER_NO_TASK,
&test, crc);
}
Modified: gnunet/src/datastore/plugin_datastore_sqlite.c
===================================================================
--- gnunet/src/datastore/plugin_datastore_sqlite.c 2009-07-24 17:56:28 UTC
(rev 8772)
+++ gnunet/src/datastore/plugin_datastore_sqlite.c 2009-07-24 22:04:41 UTC
(rev 8773)
@@ -632,7 +632,7 @@
if (GNUNET_YES == end_it)
nc->end_it = GNUNET_YES;
GNUNET_SCHEDULER_add_continuation (nc->plugin->env->sched,
- GNUNET_NO,
+ GNUNET_NO,
&sqlite_next_request_cont,
nc,
GNUNET_SCHEDULER_REASON_PREREQ_DONE);
Modified: gnunet/src/hostlist/gnunet-daemon-hostlist.c
===================================================================
--- gnunet/src/hostlist/gnunet-daemon-hostlist.c 2009-07-24 17:56:28 UTC
(rev 8772)
+++ gnunet/src/hostlist/gnunet-daemon-hostlist.c 2009-07-24 22:04:41 UTC
(rev 8773)
@@ -178,7 +178,7 @@
GNUNET_SCHEDULER_add_delayed (sched,
GNUNET_YES,
GNUNET_SCHEDULER_PRIORITY_IDLE,
- GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
+ GNUNET_SCHEDULER_NO_TASK,
GNUNET_TIME_UNIT_FOREVER_REL,
&cleaning_task, NULL);
}
Modified: gnunet/src/hostlist/hostlist-client.c
===================================================================
--- gnunet/src/hostlist/hostlist-client.c 2009-07-24 17:56:28 UTC (rev
8772)
+++ gnunet/src/hostlist/hostlist-client.c 2009-07-24 22:04:41 UTC (rev
8773)
@@ -399,7 +399,7 @@
= GNUNET_SCHEDULER_add_select (sched,
GNUNET_NO,
GNUNET_SCHEDULER_PRIORITY_DEFAULT,
- GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
+ GNUNET_SCHEDULER_NO_TASK,
GNUNET_TIME_UNIT_MINUTES,
max,
&rs,
@@ -543,7 +543,7 @@
current_task = GNUNET_SCHEDULER_add_delayed (sched,
GNUNET_NO,
GNUNET_SCHEDULER_PRIORITY_IDLE,
-
GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
+ GNUNET_SCHEDULER_NO_TASK,
delay,
&check_task,
NULL);
Modified: gnunet/src/hostlist/hostlist-server.c
===================================================================
--- gnunet/src/hostlist/hostlist-server.c 2009-07-24 17:56:28 UTC (rev
8772)
+++ gnunet/src/hostlist/hostlist-server.c 2009-07-24 22:04:41 UTC (rev
8773)
@@ -94,7 +94,7 @@
GNUNET_SCHEDULER_add_delayed (sched,
GNUNET_NO,
GNUNET_SCHEDULER_PRIORITY_IDLE,
- GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
+ GNUNET_SCHEDULER_NO_TASK,
RESPONSE_UPDATE_FREQUENCY,
&update_response,
NULL);
@@ -242,7 +242,7 @@
= GNUNET_SCHEDULER_add_select (sched,
GNUNET_NO,
GNUNET_SCHEDULER_PRIORITY_HIGH,
- GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
+ GNUNET_SCHEDULER_NO_TASK,
tv,
max,
&rs,
@@ -301,7 +301,7 @@
GNUNET_HOSTLIST_server_stop ()
{
GNUNET_SCHEDULER_cancel (sched, hostlist_task);
- hostlist_task = GNUNET_SCHEDULER_NO_PREREQUISITE_TASK;
+ hostlist_task = GNUNET_SCHEDULER_NO_TASK;
MHD_stop_daemon (daemon_handle);
daemon_handle = NULL;
}
Modified: gnunet/src/include/gnunet_network_lib.h
===================================================================
--- gnunet/src/include/gnunet_network_lib.h 2009-07-24 17:56:28 UTC (rev
8772)
+++ gnunet/src/include/gnunet_network_lib.h 2009-07-24 22:04:41 UTC (rev
8773)
@@ -202,7 +202,7 @@
* @param timeout maximum amount of time to wait
* @param receiver function to call with received data
* @param receiver_cls closure for receiver
- * @return scheduler task ID used for receiving,
GNUNET_SCHEDULER_NO_PREREQUISITE_TASK on error
+ * @return scheduler task ID used for receiving, GNUNET_SCHEDULER_NO_TASK on
error
*/
GNUNET_SCHEDULER_TaskIdentifier
GNUNET_NETWORK_receive (struct GNUNET_NETWORK_SocketHandle *sock,
Modified: gnunet/src/include/gnunet_scheduler_lib.h
===================================================================
--- gnunet/src/include/gnunet_scheduler_lib.h 2009-07-24 17:56:28 UTC (rev
8772)
+++ gnunet/src/include/gnunet_scheduler_lib.h 2009-07-24 22:04:41 UTC (rev
8773)
@@ -54,7 +54,7 @@
* Constant used to indicate that the scheduled
* task has no others as prerequisites.
*/
-#define GNUNET_SCHEDULER_NO_PREREQUISITE_TASK
((GNUNET_SCHEDULER_TaskIdentifier) 0)
+#define GNUNET_SCHEDULER_NO_TASK ((GNUNET_SCHEDULER_TaskIdentifier) 0)
/**
* Reasons why the schedule may have triggered
@@ -272,7 +272,7 @@
* @param prerequisite_task run this task after the task with the given
* task identifier completes (and any of our other
* conditions, such as delay, read or write-readyness
- * are satisfied). Use GNUNET_SCHEDULER_NO_PREREQUISITE_TASK to not
have any dependency
+ * are satisfied). Use GNUNET_SCHEDULER_NO_TASK to not have any
dependency
* on completion of other tasks.
* @param main main function of the task
* @param cls closure of task
@@ -302,7 +302,7 @@
* @param prerequisite_task run this task after the task with the given
* task identifier completes (and any of our other
* conditions, such as delay, read or write-readyness
- * are satisfied). Use GNUNET_SCHEDULER_NO_PREREQUISITE_TASK to not
have any dependency
+ * are satisfied). Use GNUNET_SCHEDULER_NO_TASK to not have any
dependency
* on completion of other tasks.
* @param delay how long should we wait? Use GNUNET_TIME_UNIT_FOREVER_REL for
"forever"
* @param main main function of the task
@@ -335,7 +335,7 @@
* @param prerequisite_task run this task after the task with the given
* task identifier completes (and any of our other
* conditions, such as delay, read or write-readyness
- * are satisfied). Use GNUNET_SCHEDULER_NO_PREREQUISITE_TASK to not
have any dependency
+ * are satisfied). Use GNUNET_SCHEDULER_NO_TASK to not have any
dependency
* on completion of other tasks.
* @param delay how long should we wait? Use GNUNET_TIME_UNIT_FOREVER_REL for
"forever"
* @param rfd read file-descriptor
@@ -368,7 +368,7 @@
* @param prerequisite_task run this task after the task with the given
* task identifier completes (and any of our other
* conditions, such as delay, read or write-readyness
- * are satisfied). Use GNUNET_SCHEDULER_NO_PREREQUISITE_TASK to not
have any dependency
+ * are satisfied). Use GNUNET_SCHEDULER_NO_TASK to not have any
dependency
* on completion of other tasks.
* @param delay how long should we wait? Use GNUNET_TIME_UNIT_FOREVER_REL for
"forever"
* @param wfd write file-descriptor
@@ -411,7 +411,7 @@
* @param prerequisite_task run this task after the task with the given
* task identifier completes (and any of our other
* conditions, such as delay, read or write-readyness
- * are satisfied). Use GNUNET_SCHEDULER_NO_PREREQUISITE_TASK to not
have any dependency
+ * are satisfied). Use GNUNET_SCHEDULER_NO_TASK to not have any
dependency
* on completion of other tasks.
* @param delay how long should we wait? Use GNUNET_TIME_UNIT_FOREVER_REL for
"forever"
* @param nfds highest-numbered file descriptor in any of the two sets plus one
Modified: gnunet/src/include/gnunet_server_lib.h
===================================================================
--- gnunet/src/include/gnunet_server_lib.h 2009-07-24 17:56:28 UTC (rev
8772)
+++ gnunet/src/include/gnunet_server_lib.h 2009-07-24 22:04:41 UTC (rev
8773)
@@ -254,7 +254,7 @@
* @param receiver function to call with received data
* @param receiver_cls closure for receiver
* @return task identifier that can be used to cancel the receive,
- * GNUNET_SCHEDULER_NO_PREREQUISITE_TASK should be returned
+ * GNUNET_SCHEDULER_NO_TASK should be returned
* if the receiver function was already called
*/
typedef GNUNET_SCHEDULER_TaskIdentifier
Modified: gnunet/src/peerinfo/gnunet-service-peerinfo.c
===================================================================
--- gnunet/src/peerinfo/gnunet-service-peerinfo.c 2009-07-24 17:56:28 UTC
(rev 8772)
+++ gnunet/src/peerinfo/gnunet-service-peerinfo.c 2009-07-24 22:04:41 UTC
(rev 8773)
@@ -336,7 +336,7 @@
GNUNET_SCHEDULER_add_delayed (tc->sched,
GNUNET_NO,
GNUNET_SCHEDULER_PRIORITY_KEEP,
- GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
+ GNUNET_SCHEDULER_NO_TASK,
DATA_HOST_FREQ,
&cron_scan_directory_data_hosts, NULL);
}
@@ -485,7 +485,7 @@
GNUNET_SCHEDULER_add_delayed (tc->sched,
GNUNET_YES,
GNUNET_SCHEDULER_PRIORITY_KEEP,
- GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
+ GNUNET_SCHEDULER_NO_TASK,
TRUST_FLUSH_FREQ, &cron_flush_trust, NULL);
}
@@ -545,7 +545,7 @@
GNUNET_SCHEDULER_add_delayed (tc->sched,
GNUNET_NO,
GNUNET_SCHEDULER_PRIORITY_KEEP,
- GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
+ GNUNET_SCHEDULER_NO_TASK,
DATA_HOST_CLEAN_FREQ,
&cron_clean_data_hosts, NULL);
}
@@ -669,18 +669,18 @@
GNUNET_SCHEDULER_add_delayed (sched,
GNUNET_NO,
GNUNET_SCHEDULER_PRIORITY_IDLE,
- GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
+ GNUNET_SCHEDULER_NO_TASK,
GNUNET_TIME_UNIT_MILLISECONDS,
&cron_scan_directory_data_hosts, NULL);
GNUNET_SCHEDULER_add_delayed (sched,
GNUNET_YES,
GNUNET_SCHEDULER_PRIORITY_HIGH,
- GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
+ GNUNET_SCHEDULER_NO_TASK,
TRUST_FLUSH_FREQ, &cron_flush_trust, NULL);
GNUNET_SCHEDULER_add_delayed (sched,
GNUNET_NO,
GNUNET_SCHEDULER_PRIORITY_IDLE,
- GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
+ GNUNET_SCHEDULER_NO_TASK,
DATA_HOST_CLEAN_FREQ,
&cron_clean_data_hosts, NULL);
GNUNET_SERVER_add_handlers (server, handlers);
Modified: gnunet/src/topology/gnunet-daemon-topology.c
===================================================================
--- gnunet/src/topology/gnunet-daemon-topology.c 2009-07-24 17:56:28 UTC
(rev 8772)
+++ gnunet/src/topology/gnunet-daemon-topology.c 2009-07-24 22:04:41 UTC
(rev 8773)
@@ -463,7 +463,7 @@
GNUNET_SCHEDULER_add_delayed (sched,
GNUNET_NO,
GNUNET_SCHEDULER_PRIORITY_DEFAULT,
- GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
+ GNUNET_SCHEDULER_NO_TASK,
delay,
&find_more_peers,
NULL);
@@ -706,7 +706,7 @@
GNUNET_SCHEDULER_add_delayed (sched,
GNUNET_NO,
GNUNET_SCHEDULER_PRIORITY_DEFAULT,
- GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
+ GNUNET_SCHEDULER_NO_TASK,
GNUNET_TIME_UNIT_SECONDS /* give core time to
tell us about existing connections */,
&find_more_peers,
NULL);
@@ -1053,7 +1053,7 @@
GNUNET_SCHEDULER_add_delayed (sched,
GNUNET_YES,
GNUNET_SCHEDULER_PRIORITY_IDLE,
- GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
+ GNUNET_SCHEDULER_NO_TASK,
GNUNET_TIME_UNIT_FOREVER_REL,
&cleaning_task, NULL);
}
Modified: gnunet/src/transport/gnunet-service-transport.c
===================================================================
--- gnunet/src/transport/gnunet-service-transport.c 2009-07-24 17:56:28 UTC
(rev 8772)
+++ gnunet/src/transport/gnunet-service-transport.c 2009-07-24 22:04:41 UTC
(rev 8773)
@@ -1172,9 +1172,9 @@
struct AddressList *next;
int expired;
- if (plugin->address_update_task != GNUNET_SCHEDULER_NO_PREREQUISITE_TASK)
+ if (plugin->address_update_task != GNUNET_SCHEDULER_NO_TASK)
GNUNET_SCHEDULER_cancel (plugin->env.sched, plugin->address_update_task);
- plugin->address_update_task = GNUNET_SCHEDULER_NO_PREREQUISITE_TASK;
+ plugin->address_update_task = GNUNET_SCHEDULER_NO_TASK;
now = GNUNET_TIME_absolute_get ();
min_remaining = GNUNET_TIME_UNIT_FOREVER_REL;
expired = GNUNET_NO;
@@ -1209,7 +1209,7 @@
= GNUNET_SCHEDULER_add_delayed (plugin->env.sched,
GNUNET_NO,
GNUNET_SCHEDULER_PRIORITY_IDLE,
- GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
+ GNUNET_SCHEDULER_NO_TASK,
min_remaining,
&expire_address_task, plugin);
@@ -1226,7 +1226,7 @@
expire_address_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
{
struct TransportPlugin *plugin = cls;
- plugin->address_update_task = GNUNET_SCHEDULER_NO_PREREQUISITE_TASK;
+ plugin->address_update_task = GNUNET_SCHEDULER_NO_TASK;
update_addresses (plugin, GNUNET_NO);
}
@@ -1513,7 +1513,7 @@
GNUNET_SCHEDULER_add_delayed (sched,
GNUNET_NO,
GNUNET_SCHEDULER_PRIORITY_IDLE,
- GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
+ GNUNET_SCHEDULER_NO_TASK,
GNUNET_TIME_absolute_get_remaining
(pos->timeout), &cleanup_validation, NULL);
}
@@ -1608,7 +1608,7 @@
GNUNET_SCHEDULER_add_delayed (sched,
GNUNET_NO,
GNUNET_SCHEDULER_PRIORITY_IDLE,
- GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
+ GNUNET_SCHEDULER_NO_TASK,
GNUNET_TIME_UNIT_ZERO,
&cleanup_validation, NULL);
}
@@ -1757,7 +1757,7 @@
GNUNET_SCHEDULER_add_delayed (sched,
GNUNET_NO,
GNUNET_SCHEDULER_PRIORITY_IDLE,
- GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
+ GNUNET_SCHEDULER_NO_TASK,
GNUNET_TIME_absolute_get_remaining
(chvc->e->timeout), &cleanup_validation,
NULL);
@@ -1920,7 +1920,7 @@
GNUNET_assert (mq->neighbour == n);
GNUNET_free (mq);
}
- if (n->timeout_task != GNUNET_SCHEDULER_NO_PREREQUISITE_TASK)
+ if (n->timeout_task != GNUNET_SCHEDULER_NO_TASK)
GNUNET_SCHEDULER_cancel (sched,
n->timeout_task);
/* finally, free n itself */
@@ -1971,7 +1971,7 @@
"Neighbour `%4s' has timed out!\n",
GNUNET_i2s(&n->id));
#endif
- n->timeout_task = GNUNET_SCHEDULER_NO_PREREQUISITE_TASK;
+ n->timeout_task = GNUNET_SCHEDULER_NO_TASK;
disconnect_neighbour (n, GNUNET_NO);
}
@@ -2007,7 +2007,7 @@
n->timeout_task = GNUNET_SCHEDULER_add_delayed (sched,
GNUNET_NO,
GNUNET_SCHEDULER_PRIORITY_IDLE,
-
GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
+ GNUNET_SCHEDULER_NO_TASK,
GNUNET_CONSTANTS_IDLE_CONNECTION_TIMEOUT,
&neighbour_timeout_task, n);
transmit_to_peer (NULL, 0,
@@ -2120,7 +2120,7 @@
n->timeout_task =
GNUNET_SCHEDULER_add_delayed (sched, GNUNET_NO,
GNUNET_SCHEDULER_PRIORITY_IDLE,
- GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
+ GNUNET_SCHEDULER_NO_TASK,
GNUNET_CONSTANTS_IDLE_CONNECTION_TIMEOUT,
&neighbour_timeout_task, n);
update_quota (n);
Modified: gnunet/src/transport/plugin_transport_tcp.c
===================================================================
--- gnunet/src/transport/plugin_transport_tcp.c 2009-07-24 17:56:28 UTC (rev
8772)
+++ gnunet/src/transport/plugin_transport_tcp.c 2009-07-24 22:04:41 UTC (rev
8773)
@@ -1886,7 +1886,7 @@
GNUNET_SCHEDULER_add_delayed (session->plugin->env->sched,
GNUNET_NO,
GNUNET_SCHEDULER_PRIORITY_HIGH,
- GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
+ GNUNET_SCHEDULER_NO_TASK,
delay, &delayed_done, session);
}
Modified: gnunet/src/transport/test_plugin_transport.c
===================================================================
--- gnunet/src/transport/test_plugin_transport.c 2009-07-24 17:56:28 UTC
(rev 8772)
+++ gnunet/src/transport/test_plugin_transport.c 2009-07-24 22:04:41 UTC
(rev 8773)
@@ -157,10 +157,10 @@
/* Sailor: 'test_validation' should get here
if the validation worked; so we cancel the
"delayed" task that will cause failure */
- if (validation_timeout_task != GNUNET_SCHEDULER_NO_PREREQUISITE_TASK)
+ if (validation_timeout_task != GNUNET_SCHEDULER_NO_TASK)
{
GNUNET_SCHEDULER_cancel (sched, validation_timeout_task);
- validation_timeout_task = GNUNET_SCHEDULER_NO_PREREQUISITE_TASK;
+ validation_timeout_task = GNUNET_SCHEDULER_NO_TASK;
}
GNUNET_assert (challenge == 42);
@@ -176,7 +176,7 @@
validation_failed (void *cls,
const struct GNUNET_SCHEDULER_TaskContext *tc)
{
- validation_timeout_task = GNUNET_SCHEDULER_NO_PREREQUISITE_TASK;
+ validation_timeout_task = GNUNET_SCHEDULER_NO_TASK;
GNUNET_break (0); /* output error */
/* the "validation_notification" was not called
in a timely fashion; we should set an error
@@ -221,7 +221,7 @@
GNUNET_SCHEDULER_add_delayed (sched,
GNUNET_NO,
GNUNET_SCHEDULER_PRIORITY_KEEP,
- GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
+ GNUNET_SCHEDULER_NO_TASK,
TIMEOUT,
&validation_failed,
NULL);
Modified: gnunet/src/transport/transport_api.c
===================================================================
--- gnunet/src/transport/transport_api.c 2009-07-24 17:56:28 UTC (rev
8772)
+++ gnunet/src/transport/transport_api.c 2009-07-24 22:04:41 UTC (rev
8773)
@@ -405,13 +405,13 @@
do
{
th = h->connect_ready_head;
- if (th->notify_delay_task != GNUNET_SCHEDULER_NO_PREREQUISITE_TASK)
+ if (th->notify_delay_task != GNUNET_SCHEDULER_NO_TASK)
{
/* remove existing time out task (only applies if
this is not the first iteration of the loop) */
GNUNET_SCHEDULER_cancel (h->sched,
th->notify_delay_task);
- th->notify_delay_task = GNUNET_SCHEDULER_NO_PREREQUISITE_TASK;
+ th->notify_delay_task = GNUNET_SCHEDULER_NO_TASK;
}
GNUNET_assert (th->notify_size <= size);
if (th->next != NULL)
@@ -459,13 +459,13 @@
th = h->connect_ready_head;
if (th == NULL)
return; /* no request pending */
- if (th->notify_delay_task != GNUNET_SCHEDULER_NO_PREREQUISITE_TASK)
+ if (th->notify_delay_task != GNUNET_SCHEDULER_NO_TASK)
{
/* remove existing time out task, will be integrated
with transmit_ready notification! */
GNUNET_SCHEDULER_cancel (h->sched,
th->notify_delay_task);
- th->notify_delay_task = GNUNET_SCHEDULER_NO_PREREQUISITE_TASK;
+ th->notify_delay_task = GNUNET_SCHEDULER_NO_TASK;
}
h->transmission_scheduled = GNUNET_YES;
h->network_handle = GNUNET_CLIENT_notify_transmit_ready (h->client,
@@ -529,10 +529,10 @@
struct GNUNET_TRANSPORT_Handle *h;
h = th->handle;
- if (th->notify_delay_task != GNUNET_SCHEDULER_NO_PREREQUISITE_TASK)
+ if (th->notify_delay_task != GNUNET_SCHEDULER_NO_TASK)
{
GNUNET_SCHEDULER_cancel (h->sched, th->notify_delay_task);
- th->notify_delay_task = GNUNET_SCHEDULER_NO_PREREQUISITE_TASK;
+ th->notify_delay_task = GNUNET_SCHEDULER_NO_TASK;
}
if (th->prev == NULL)
{
@@ -573,7 +573,7 @@
{
struct GNUNET_TRANSPORT_TransmitHandle *th = cls;
- th->notify_delay_task = GNUNET_SCHEDULER_NO_PREREQUISITE_TASK;
+ th->notify_delay_task = GNUNET_SCHEDULER_NO_TASK;
if (th->neighbour != NULL)
th->neighbour->transmit_handle = NULL;
#if DEBUG_TRANSPORT
@@ -620,7 +620,7 @@
= GNUNET_SCHEDULER_add_delayed (h->sched,
GNUNET_NO,
GNUNET_SCHEDULER_PRIORITY_KEEP,
- GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
+ GNUNET_SCHEDULER_NO_TASK,
timeout,
&transmit_timeout, th);
if (at_head)
@@ -785,7 +785,7 @@
struct HelloWaitList *pos;
struct HelloWaitList *prev;
- hwl->task = GNUNET_SCHEDULER_NO_PREREQUISITE_TASK;
+ hwl->task = GNUNET_SCHEDULER_NO_TASK;
if (GNUNET_TIME_absolute_get_remaining (hwl->timeout).value > 0)
{
#if DEBUG_TRANSPORT
@@ -797,7 +797,7 @@
hwl->task = GNUNET_SCHEDULER_add_delayed (hwl->handle->sched,
GNUNET_YES,
GNUNET_SCHEDULER_PRIORITY_KEEP,
-
GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
+ GNUNET_SCHEDULER_NO_TASK,
GNUNET_TIME_absolute_get_remaining (hwl->timeout),
&hello_wait_timeout, hwl);
return;
@@ -857,7 +857,7 @@
hwl->task = GNUNET_SCHEDULER_add_delayed (handle->sched,
GNUNET_YES,
GNUNET_SCHEDULER_PRIORITY_KEEP,
-
GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
+ GNUNET_SCHEDULER_NO_TASK,
timeout,
&hello_wait_timeout, hwl);
return;
@@ -979,7 +979,7 @@
struct TryConnectMessage *tcm;
struct GNUNET_TRANSPORT_Handle *h;
- GNUNET_assert (th->notify_delay_task ==
GNUNET_SCHEDULER_NO_PREREQUISITE_TASK);
+ GNUNET_assert (th->notify_delay_task == GNUNET_SCHEDULER_NO_TASK);
h = th->handle;
if (buf == NULL)
{
@@ -1008,7 +1008,7 @@
= GNUNET_SCHEDULER_add_delayed (h->sched,
GNUNET_NO,
GNUNET_SCHEDULER_PRIORITY_KEEP,
- GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
+ GNUNET_SCHEDULER_NO_TASK,
GNUNET_TIME_absolute_get_remaining
(th->timeout),
&transmit_timeout, th);
@@ -1028,7 +1028,7 @@
static void
try_connect (struct GNUNET_TRANSPORT_TransmitHandle *th)
{
- GNUNET_assert (th->notify_delay_task ==
GNUNET_SCHEDULER_NO_PREREQUISITE_TASK);
+ GNUNET_assert (th->notify_delay_task == GNUNET_SCHEDULER_NO_TASK);
schedule_control_transmit (th->handle,
sizeof (struct TryConnectMessage),
GNUNET_NO,
@@ -1050,7 +1050,7 @@
{
struct GNUNET_TRANSPORT_TransmitHandle *th = cls;
- th->notify_delay_task = GNUNET_SCHEDULER_NO_PREREQUISITE_TASK;
+ th->notify_delay_task = GNUNET_SCHEDULER_NO_TASK;
try_connect (th);
}
@@ -1103,18 +1103,18 @@
if (GNUNET_TIME_absolute_get_remaining (th->timeout).value <=
CONNECT_RETRY_TIMEOUT.value)
{
/* signal error */
- GNUNET_assert (GNUNET_SCHEDULER_NO_PREREQUISITE_TASK ==
th->notify_delay_task);
+ GNUNET_assert (GNUNET_SCHEDULER_NO_TASK == th->notify_delay_task);
transmit_timeout (th, NULL);
}
else
{
/* try again in a bit */
- GNUNET_assert (GNUNET_SCHEDULER_NO_PREREQUISITE_TASK ==
th->notify_delay_task);
+ GNUNET_assert (GNUNET_SCHEDULER_NO_TASK == th->notify_delay_task);
th->notify_delay_task
= GNUNET_SCHEDULER_add_delayed (h->sched,
GNUNET_NO,
GNUNET_SCHEDULER_PRIORITY_KEEP,
-
GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
+ GNUNET_SCHEDULER_NO_TASK,
CONNECT_RETRY_TIMEOUT,
&try_connect_task,
th);
@@ -1144,7 +1144,7 @@
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Connecting to transport service.\n");
#endif
GNUNET_assert (h->client == NULL);
- h->reconnect_task = GNUNET_SCHEDULER_NO_PREREQUISITE_TASK;
+ h->reconnect_task = GNUNET_SCHEDULER_NO_TASK;
h->client = GNUNET_CLIENT_connect (h->sched, "transport", h->cfg);
GNUNET_assert (h->client != NULL);
/* make sure we don't send "START" twice,
@@ -1189,12 +1189,12 @@
h->reconnect_delay.value);
#endif
GNUNET_assert (h->client == NULL);
- GNUNET_assert (h->reconnect_task == GNUNET_SCHEDULER_NO_PREREQUISITE_TASK);
+ GNUNET_assert (h->reconnect_task == GNUNET_SCHEDULER_NO_TASK);
h->reconnect_task
= GNUNET_SCHEDULER_add_delayed (h->sched,
GNUNET_NO,
GNUNET_SCHEDULER_PRIORITY_DEFAULT,
- GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
+ GNUNET_SCHEDULER_NO_TASK,
h->reconnect_delay, &reconnect, h);
h->reconnect_delay = GNUNET_TIME_UNIT_SECONDS;
}
@@ -1217,7 +1217,7 @@
{
struct GNUNET_TRANSPORT_TransmitHandle *th = cls;
- th->notify_delay_task = GNUNET_SCHEDULER_NO_PREREQUISITE_TASK;
+ th->notify_delay_task = GNUNET_SCHEDULER_NO_TASK;
schedule_request (th);
}
@@ -1252,10 +1252,10 @@
h = th->handle;
n = th->neighbour;
- if (th->notify_delay_task != GNUNET_SCHEDULER_NO_PREREQUISITE_TASK)
+ if (th->notify_delay_task != GNUNET_SCHEDULER_NO_TASK)
{
GNUNET_SCHEDULER_cancel (h->sched, th->notify_delay_task);
- th->notify_delay_task = GNUNET_SCHEDULER_NO_PREREQUISITE_TASK;
+ th->notify_delay_task = GNUNET_SCHEDULER_NO_TASK;
}
/* check outgoing quota */
duration = GNUNET_TIME_absolute_get_duration (n->last_quota_update);
@@ -1298,7 +1298,7 @@
= GNUNET_SCHEDULER_add_delayed (h->sched,
GNUNET_NO,
GNUNET_SCHEDULER_PRIORITY_KEEP,
- GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
+ GNUNET_SCHEDULER_NO_TASK,
duration, &transmit_ready, th);
return;
}
@@ -1320,7 +1320,7 @@
= GNUNET_SCHEDULER_add_delayed (h->sched,
GNUNET_NO,
GNUNET_SCHEDULER_PRIORITY_KEEP,
- GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
+ GNUNET_SCHEDULER_NO_TASK,
GNUNET_TIME_absolute_get_remaining
(th->timeout), &transmit_timeout, th);
return;
@@ -1392,10 +1392,10 @@
"Found pending request for `%4s' will trigger it
now.\n",
GNUNET_i2s (&pos->target));
#endif
- if (pos->notify_delay_task !=
GNUNET_SCHEDULER_NO_PREREQUISITE_TASK)
+ if (pos->notify_delay_task != GNUNET_SCHEDULER_NO_TASK)
{
GNUNET_SCHEDULER_cancel (h->sched, pos->notify_delay_task);
- pos->notify_delay_task =
GNUNET_SCHEDULER_NO_PREREQUISITE_TASK;
+ pos->notify_delay_task = GNUNET_SCHEDULER_NO_TASK;
}
schedule_request (pos);
}
@@ -1495,10 +1495,10 @@
while (NULL != (th = handle->connect_wait_head))
{
handle->connect_wait_head = th->next;
- if (th->notify_delay_task != GNUNET_SCHEDULER_NO_PREREQUISITE_TASK)
+ if (th->notify_delay_task != GNUNET_SCHEDULER_NO_TASK)
{
GNUNET_SCHEDULER_cancel (handle->sched, th->notify_delay_task);
- th->notify_delay_task = GNUNET_SCHEDULER_NO_PREREQUISITE_TASK;
+ th->notify_delay_task = GNUNET_SCHEDULER_NO_TASK;
}
th->notify (th->notify_cls, 0, NULL);
GNUNET_free (th);
@@ -1519,10 +1519,10 @@
hwl->rec (hwl->rec_cls, GNUNET_TIME_UNIT_ZERO, NULL, NULL);
GNUNET_free (hwl);
}
- if (handle->reconnect_task != GNUNET_SCHEDULER_NO_PREREQUISITE_TASK)
+ if (handle->reconnect_task != GNUNET_SCHEDULER_NO_TASK)
{
GNUNET_SCHEDULER_cancel (handle->sched, handle->reconnect_task);
- handle->reconnect_task = GNUNET_SCHEDULER_NO_PREREQUISITE_TASK;
+ handle->reconnect_task = GNUNET_SCHEDULER_NO_TASK;
}
GNUNET_free_non_null (handle->my_hello);
handle->my_hello = NULL;
@@ -1578,12 +1578,12 @@
h->transmission_scheduled = GNUNET_NO;
th = h->connect_ready_head;
/* add timeout again, we cancelled the transmit_ready task! */
- GNUNET_assert (th->notify_delay_task ==
GNUNET_SCHEDULER_NO_PREREQUISITE_TASK);
+ GNUNET_assert (th->notify_delay_task == GNUNET_SCHEDULER_NO_TASK);
th->notify_delay_task
= GNUNET_SCHEDULER_add_delayed (h->sched,
GNUNET_NO,
GNUNET_SCHEDULER_PRIORITY_KEEP,
-
GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
+ GNUNET_SCHEDULER_NO_TASK,
GNUNET_TIME_absolute_get_remaining(th->timeout),
&transmit_timeout,
th);
@@ -1692,7 +1692,7 @@
GNUNET_SCHEDULER_cancel (h->sched,
n->transmit_handle->notify_delay_task);
n->transmit_handle->notify_delay_task =
- GNUNET_SCHEDULER_NO_PREREQUISITE_TASK;
+ GNUNET_SCHEDULER_NO_TASK;
GNUNET_assert (GNUNET_YES == n->received_ack);
schedule_request (n->transmit_handle);
}
@@ -1927,7 +1927,7 @@
= GNUNET_SCHEDULER_add_delayed (handle->sched,
GNUNET_NO,
GNUNET_SCHEDULER_PRIORITY_KEEP,
- GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
+ GNUNET_SCHEDULER_NO_TASK,
timeout, &transmit_timeout, th);
return th;
}
Modified: gnunet/src/util/client.c
===================================================================
--- gnunet/src/util/client.c 2009-07-24 17:56:28 UTC (rev 8772)
+++ gnunet/src/util/client.c 2009-07-24 22:04:41 UTC (rev 8773)
@@ -230,7 +230,7 @@
struct GNUNET_TIME_Relative remaining;
GNUNET_assert (conn->msg_complete == GNUNET_NO);
- conn->receiver_task = GNUNET_SCHEDULER_NO_PREREQUISITE_TASK;
+ conn->receiver_task = GNUNET_SCHEDULER_NO_TASK;
if ((available == 0) || (conn->sock == NULL) || (errCode != 0))
{
@@ -284,7 +284,7 @@
struct GNUNET_MessageHeader *msg = (struct GNUNET_MessageHeader*) mbuf;
GNUNET_assert (GNUNET_YES == sock->msg_complete);
- sock->receiver_task = GNUNET_SCHEDULER_NO_PREREQUISITE_TASK;
+ sock->receiver_task = GNUNET_SCHEDULER_NO_TASK;
GNUNET_assert (sock->received_pos >= msize);
memcpy (msg, cmsg, msize);
memmove (sock->received_buf,
@@ -320,7 +320,7 @@
return;
}
GNUNET_assert (sock->receiver_task ==
- GNUNET_SCHEDULER_NO_PREREQUISITE_TASK);
+ GNUNET_SCHEDULER_NO_TASK);
sock->receiver_handler = handler;
sock->receiver_handler_cls = cls;
sock->receive_timeout = GNUNET_TIME_relative_to_absolute (timeout);
@@ -328,7 +328,7 @@
sock->receiver_task = GNUNET_SCHEDULER_add_after (sock->sched,
GNUNET_YES,
GNUNET_SCHEDULER_PRIORITY_KEEP,
-
GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
+ GNUNET_SCHEDULER_NO_TASK,
&receive_task, sock);
else
sock->receiver_task = GNUNET_NETWORK_receive (sock->sock,
Modified: gnunet/src/util/crypto_hash.c
===================================================================
--- gnunet/src/util/crypto_hash.c 2009-07-24 17:56:28 UTC (rev 8772)
+++ gnunet/src/util/crypto_hash.c 2009-07-24 22:04:41 UTC (rev 8773)
@@ -484,7 +484,7 @@
GNUNET_SCHEDULER_add_after (tc->sched,
fhc->run_on_shutdown,
GNUNET_SCHEDULER_PRIORITY_KEEP,
- GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
+ GNUNET_SCHEDULER_NO_TASK,
&file_hash_task, fhc);
}
@@ -536,7 +536,7 @@
GNUNET_SCHEDULER_add_after (sched,
run_on_shutdown,
priority,
- GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
+ GNUNET_SCHEDULER_NO_TASK,
&file_hash_task, fhc);
}
Modified: gnunet/src/util/disk.c
===================================================================
--- gnunet/src/util/disk.c 2009-07-24 17:56:28 UTC (rev 8772)
+++ gnunet/src/util/disk.c 2009-07-24 22:04:41 UTC (rev 8773)
@@ -735,7 +735,7 @@
GNUNET_SCHEDULER_add_after (iter->sched,
GNUNET_YES,
iter->priority,
- GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
+ GNUNET_SCHEDULER_NO_TASK,
&directory_iterator_task, iter);
return GNUNET_YES;
}
Modified: gnunet/src/util/network.c
===================================================================
--- gnunet/src/util/network.c 2009-07-24 17:56:28 UTC (rev 8772)
+++ gnunet/src/util/network.c 2009-07-24 22:04:41 UTC (rev 8773)
@@ -541,7 +541,7 @@
int error;
/* nobody needs to wait for us anymore... */
- sock->connect_task = GNUNET_SCHEDULER_NO_PREREQUISITE_TASK;
+ sock->connect_task = GNUNET_SCHEDULER_NO_TASK;
/* Note: write-ready does NOT mean connect succeeded,
we need to use getsockopt to be sure */
len = sizeof (error);
@@ -574,7 +574,7 @@
}
sock->connect_task = GNUNET_SCHEDULER_add_write (tc->sched, GNUNET_NO,
/* abort on shutdown */
GNUNET_SCHEDULER_PRIORITY_KEEP,
-
GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
+
GNUNET_SCHEDULER_NO_TASK,
GNUNET_NETWORK_CONNECT_RETRY_TIMEOUT,
sock->sock,
&connect_continuation,
@@ -630,7 +630,7 @@
}
ret->connect_task = GNUNET_SCHEDULER_add_write (sched, GNUNET_NO, /*
abort on shutdown */
GNUNET_SCHEDULER_PRIORITY_KEEP,
-
GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
+ GNUNET_SCHEDULER_NO_TASK,
GNUNET_NETWORK_CONNECT_RETRY_TIMEOUT,
ret->sock,
&connect_continuation, ret);
@@ -727,7 +727,7 @@
struct GNUNET_NETWORK_SocketHandle *sock = cls;
GNUNET_NETWORK_TransmitReadyNotify notify;
- if (sock->write_task != GNUNET_SCHEDULER_NO_PREREQUISITE_TASK)
+ if (sock->write_task != GNUNET_SCHEDULER_NO_TASK)
{
GNUNET_SCHEDULER_add_after (sock->sched,
GNUNET_YES,
@@ -743,7 +743,7 @@
#endif
SHUTDOWN (sock->sock, SHUT_RDWR);
}
- if (sock->read_task != GNUNET_SCHEDULER_NO_PREREQUISITE_TASK)
+ if (sock->read_task != GNUNET_SCHEDULER_NO_TASK)
{
GNUNET_SCHEDULER_add_after (sock->sched,
GNUNET_YES,
@@ -756,10 +756,10 @@
{
sock->nth.notify_ready = NULL;
notify (sock->nth.notify_ready_cls, 0, NULL);
- if (sock->nth.timeout_task != GNUNET_SCHEDULER_NO_PREREQUISITE_TASK)
+ if (sock->nth.timeout_task != GNUNET_SCHEDULER_NO_TASK)
{
GNUNET_SCHEDULER_cancel (sock->sched, sock->nth.timeout_task);
- sock->nth.timeout_task = GNUNET_SCHEDULER_NO_PREREQUISITE_TASK;
+ sock->nth.timeout_task = GNUNET_SCHEDULER_NO_TASK;
}
}
if (sock->sock != -1)
@@ -837,7 +837,7 @@
ssize_t ret;
GNUNET_NETWORK_Receiver receiver;
- sh->read_task = GNUNET_SCHEDULER_NO_PREREQUISITE_TASK;
+ sh->read_task = GNUNET_SCHEDULER_NO_TASK;
now = GNUNET_TIME_absolute_get ();
if ((now.value > sh->receive_timeout.value) ||
(0 != (tc->reason & GNUNET_SCHEDULER_REASON_TIMEOUT)) ||
@@ -907,9 +907,9 @@
struct GNUNET_NETWORK_SocketHandle *sh = cls;
struct GNUNET_TIME_Absolute now;
- sh->read_task = GNUNET_SCHEDULER_NO_PREREQUISITE_TASK;
+ sh->read_task = GNUNET_SCHEDULER_NO_TASK;
if ((sh->sock == -1) &&
- (sh->connect_task == GNUNET_SCHEDULER_NO_PREREQUISITE_TASK))
+ (sh->connect_task == GNUNET_SCHEDULER_NO_TASK))
{
/* not connected and no longer trying */
#if DEBUG_NETWORK
@@ -930,7 +930,7 @@
signal_timeout (sh);
return;
}
- if (sh->connect_task != GNUNET_SCHEDULER_NO_PREREQUISITE_TASK)
+ if (sh->connect_task != GNUNET_SCHEDULER_NO_TASK)
{
/* connect was retried */
sh->read_task = GNUNET_SCHEDULER_add_after (tc->sched,
@@ -965,7 +965,7 @@
* @param timeout maximum amount of time to wait (use -1 for "forever")
* @param receiver function to call with received data
* @param receiver_cls closure for receiver
- * @return scheduler task ID used for receiving,
GNUNET_SCHEDULER_NO_PREREQUISITE_TASK on error
+ * @return scheduler task ID used for receiving, GNUNET_SCHEDULER_NO_TASK on
error
*/
GNUNET_SCHEDULER_TaskIdentifier
GNUNET_NETWORK_receive (struct GNUNET_NETWORK_SocketHandle *sock,
@@ -975,7 +975,7 @@
{
struct GNUNET_SCHEDULER_TaskContext tc;
- GNUNET_assert ((sock->read_task == GNUNET_SCHEDULER_NO_PREREQUISITE_TASK) &&
+ GNUNET_assert ((sock->read_task == GNUNET_SCHEDULER_NO_TASK) &&
(sock->receiver == NULL));
sock->receiver = receiver;
sock->receiver_cls = receiver_cls;
@@ -1004,7 +1004,7 @@
{
GNUNET_assert (sock->read_task == task);
GNUNET_assert (sock == GNUNET_SCHEDULER_cancel (sock->sched, task));
- sock->read_task = GNUNET_SCHEDULER_NO_PREREQUISITE_TASK;
+ sock->read_task = GNUNET_SCHEDULER_NO_TASK;
sock->receiver = NULL;
return sock->receiver_cls;
}
@@ -1025,7 +1025,7 @@
size_t size;
GNUNET_NETWORK_TransmitReadyNotify notify;
- GNUNET_assert (sock->write_task == GNUNET_SCHEDULER_NO_PREREQUISITE_TASK);
+ GNUNET_assert (sock->write_task == GNUNET_SCHEDULER_NO_TASK);
if (NULL == (notify = sock->nth.notify_ready))
return GNUNET_NO;
used = sock->write_buffer_off - sock->write_buffer_pos;
@@ -1034,10 +1034,10 @@
if (sock->nth.notify_size > avail)
return GNUNET_NO;
sock->nth.notify_ready = NULL;
- if (sock->nth.timeout_task != GNUNET_SCHEDULER_NO_PREREQUISITE_TASK)
+ if (sock->nth.timeout_task != GNUNET_SCHEDULER_NO_TASK)
{
GNUNET_SCHEDULER_cancel (sock->sched, sock->nth.timeout_task);
- sock->nth.timeout_task = GNUNET_SCHEDULER_NO_PREREQUISITE_TASK;
+ sock->nth.timeout_task = GNUNET_SCHEDULER_NO_TASK;
}
if (sock->write_buffer_size - sock->write_buffer_off < size)
{
@@ -1084,10 +1084,10 @@
{
if (sock->nth.notify_ready == NULL)
return; /* nobody to tell about it */
- if (sock->nth.timeout_task != GNUNET_SCHEDULER_NO_PREREQUISITE_TASK)
+ if (sock->nth.timeout_task != GNUNET_SCHEDULER_NO_TASK)
{
GNUNET_SCHEDULER_cancel (sock->sched, sock->nth.timeout_task);
- sock->nth.timeout_task = GNUNET_SCHEDULER_NO_PREREQUISITE_TASK;
+ sock->nth.timeout_task = GNUNET_SCHEDULER_NO_TASK;
}
transmit_timeout (sock, NULL);
}
@@ -1105,13 +1105,13 @@
ssize_t ret;
size_t have;
- GNUNET_assert (sock->write_task != GNUNET_SCHEDULER_NO_PREREQUISITE_TASK);
- sock->write_task = GNUNET_SCHEDULER_NO_PREREQUISITE_TASK;
- if (sock->connect_task != GNUNET_SCHEDULER_NO_PREREQUISITE_TASK)
+ GNUNET_assert (sock->write_task != GNUNET_SCHEDULER_NO_TASK);
+ sock->write_task = GNUNET_SCHEDULER_NO_TASK;
+ if (sock->connect_task != GNUNET_SCHEDULER_NO_TASK)
{
/* still waiting for connect */
GNUNET_assert (sock->write_task ==
- GNUNET_SCHEDULER_NO_PREREQUISITE_TASK);
+ GNUNET_SCHEDULER_NO_TASK);
sock->write_task =
GNUNET_SCHEDULER_add_delayed (tc->sched, GNUNET_NO,
GNUNET_SCHEDULER_PRIORITY_KEEP,
@@ -1195,12 +1195,12 @@
return; /* all data sent! */
/* not done writing, schedule more */
SCHEDULE_WRITE:
- if (sock->write_task == GNUNET_SCHEDULER_NO_PREREQUISITE_TASK)
+ if (sock->write_task == GNUNET_SCHEDULER_NO_TASK)
sock->write_task =
GNUNET_SCHEDULER_add_write (tc->sched,
GNUNET_NO,
GNUNET_SCHEDULER_PRIORITY_KEEP,
- GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
+ GNUNET_SCHEDULER_NO_TASK,
GNUNET_TIME_absolute_get_remaining
(sock->nth.transmit_timeout),
sock->sock, &transmit_ready, sock);
}
@@ -1233,7 +1233,7 @@
GNUNET_assert (sock->write_buffer_size >= size);
if ((sock->sock == -1) &&
- (sock->connect_task == GNUNET_SCHEDULER_NO_PREREQUISITE_TASK))
+ (sock->connect_task == GNUNET_SCHEDULER_NO_TASK))
{
#if DEBUG_NETWORK
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
@@ -1254,17 +1254,17 @@
sock->nth.timeout_task = GNUNET_SCHEDULER_add_delayed (sock->sched,
GNUNET_NO,
GNUNET_SCHEDULER_PRIORITY_KEEP,
-
GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
+
GNUNET_SCHEDULER_NO_TASK,
timeout,
&transmit_timeout,
sock);
- if (sock->write_task == GNUNET_SCHEDULER_NO_PREREQUISITE_TASK)
+ if (sock->write_task == GNUNET_SCHEDULER_NO_TASK)
{
- if (sock->connect_task == GNUNET_SCHEDULER_NO_PREREQUISITE_TASK)
+ if (sock->connect_task == GNUNET_SCHEDULER_NO_TASK)
sock->write_task = GNUNET_SCHEDULER_add_write (sock->sched,
GNUNET_NO,
GNUNET_SCHEDULER_PRIORITY_KEEP,
-
GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
+ GNUNET_SCHEDULER_NO_TASK,
GNUNET_TIME_absolute_get_remaining (sock->nth.transmit_timeout),
sock->sock,
&transmit_ready, sock);
@@ -1290,7 +1290,7 @@
{
GNUNET_assert (h->notify_ready != NULL);
GNUNET_SCHEDULER_cancel (h->sh->sched, h->timeout_task);
- h->timeout_task = GNUNET_SCHEDULER_NO_PREREQUISITE_TASK;
+ h->timeout_task = GNUNET_SCHEDULER_NO_TASK;
h->notify_ready = NULL;
}
Modified: gnunet/src/util/scheduler.c
===================================================================
--- gnunet/src/util/scheduler.c 2009-07-24 17:56:28 UTC (rev 8772)
+++ gnunet/src/util/scheduler.c 2009-07-24 22:04:41 UTC (rev 8773)
@@ -255,7 +255,7 @@
pos = sched->pending;
while (pos != NULL)
{
- if ((pos->prereq_id != GNUNET_SCHEDULER_NO_PREREQUISITE_TASK) &&
+ if ((pos->prereq_id != GNUNET_SCHEDULER_NO_TASK) &&
(GNUNET_YES == is_pending (sched, pos->prereq_id)))
{
pos = pos->next;
@@ -329,7 +329,7 @@
task->reason |= GNUNET_SCHEDULER_REASON_WRITE_READY;
if (task->reason == 0)
return GNUNET_NO; /* not ready */
- if (task->prereq_id != GNUNET_SCHEDULER_NO_PREREQUISITE_TASK)
+ if (task->prereq_id != GNUNET_SCHEDULER_NO_TASK)
{
if (GNUNET_YES == is_pending (sched, task->prereq_id))
return GNUNET_NO; /* prereq waiting */
@@ -671,7 +671,7 @@
* @param prerequisite_task run this task after the task with the given
* task identifier completes (and any of our other
* conditions, such as delay, read or write-readyness
- * are satisfied). Use GNUNET_SCHEDULER_NO_PREREQUISITE_TASK to not
have any dependency
+ * are satisfied). Use GNUNET_SCHEDULER_NO_TASK to not have any
dependency
* on completion of other tasks.
* @param main main function of the task
* @param cls closure of task
@@ -707,7 +707,7 @@
* @param prerequisite_task run this task after the task with the given
* task identifier completes (and any of our other
* conditions, such as delay, read or write-readyness
- * are satisfied). Use GNUNET_SCHEDULER_NO_PREREQUISITE_TASK to not
have any dependency
+ * are satisfied). Use GNUNET_SCHEDULER_NO_TASK to not have any
dependency
* on completion of other tasks.
* @param delay how long should we wait? Use GNUNET_TIME_UNIT_FOREVER_REL for
"forever"
* @param main main function of the task
@@ -745,7 +745,7 @@
* @param prerequisite_task run this task after the task with the given
* task identifier completes (and any of our other
* conditions, such as delay, read or write-readyness
- * are satisfied). Use GNUNET_SCHEDULER_NO_PREREQUISITE_TASK to not
have any dependency
+ * are satisfied). Use GNUNET_SCHEDULER_NO_TASK to not have any
dependency
* on completion of other tasks.
* @param delay how long should we wait? Use GNUNET_TIME_UNIT_FOREVER_REL for
"forever"
* @param rfd read file-descriptor
@@ -788,7 +788,7 @@
* @param prerequisite_task run this task after the task with the given
* task identifier completes (and any of our other
* conditions, such as delay, read or write-readyness
- * are satisfied). Use GNUNET_SCHEDULER_NO_PREREQUISITE_TASK to not
have any dependency
+ * are satisfied). Use GNUNET_SCHEDULER_NO_TASK to not have any
dependency
* on completion of other tasks.
* @param delay how long should we wait? Use GNUNET_TIME_UNIT_FOREVER_REL for
"forever"
* @param wfd write file-descriptor
@@ -841,7 +841,7 @@
* @param prerequisite_task run this task after the task with the given
* task identifier completes (and any of our other
* conditions, such as delay, read or write-readyness
- * are satisfied). Use GNUNET_SCHEDULER_NO_PREREQUISITE_TASK to not
have any dependency
+ * are satisfied). Use GNUNET_SCHEDULER_NO_TASK to not have any
dependency
* on completion of other tasks.
* @param delay how long should we wait? Use GNUNET_TIME_UNIT_FOREVER_REL for
"forever"
* @param nfds highest-numbered file descriptor in any of the two sets plus one
Modified: gnunet/src/util/server.c
===================================================================
--- gnunet/src/util/server.c 2009-07-24 17:56:28 UTC (rev 8772)
+++ gnunet/src/util/server.c 2009-07-24 22:04:41 UTC (rev 8773)
@@ -223,7 +223,7 @@
/**
* Current task identifier for the receive call
- * (or GNUNET_SCHEDULER_NO_PREREQUISITE_TASK for none).
+ * (or GNUNET_SCHEDULER_NO_TASK for none).
*/
GNUNET_SCHEDULER_TaskIdentifier my_receive;
@@ -351,7 +351,7 @@
GNUNET_SCHEDULER_add_select (server->sched,
GNUNET_YES,
GNUNET_SCHEDULER_PRIORITY_HIGH,
- GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
+ GNUNET_SCHEDULER_NO_TASK,
GNUNET_TIME_UNIT_FOREVER_REL,
GNUNET_MAX (server->listen_socket,
server->shutpipe[0]) + 1, &r, NULL,
@@ -483,7 +483,7 @@
GNUNET_SCHEDULER_add_select (sched,
GNUNET_YES,
GNUNET_SCHEDULER_PRIORITY_HIGH,
- GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
+ GNUNET_SCHEDULER_NO_TASK,
GNUNET_TIME_UNIT_FOREVER_REL,
GNUNET_MAX (ret->listen_socket,
ret->shutpipe[0]) + 1, &r,
@@ -621,7 +621,7 @@
struct NotifyList *n;
unsigned int rc;
- GNUNET_assert (client->my_receive == GNUNET_SCHEDULER_NO_PREREQUISITE_TASK);
+ GNUNET_assert (client->my_receive == GNUNET_SCHEDULER_NO_TASK);
rc = client->reference_count;
if (client->server != NULL)
{
@@ -740,7 +740,7 @@
const char *cbuf = buf;
size_t maxcpy;
- client->my_receive = GNUNET_SCHEDULER_NO_PREREQUISITE_TASK;
+ client->my_receive = GNUNET_SCHEDULER_NO_TASK;
if ((buf == NULL) ||
(available == 0) ||
(errCode != 0) ||
@@ -1107,9 +1107,9 @@
{
if (client->server == NULL)
return; /* already disconnected */
- GNUNET_assert (client->my_receive != GNUNET_SCHEDULER_NO_PREREQUISITE_TASK);
+ GNUNET_assert (client->my_receive != GNUNET_SCHEDULER_NO_TASK);
client->receive_cancel (client->client_closure, client->my_receive);
- client->my_receive = GNUNET_SCHEDULER_NO_PREREQUISITE_TASK;
+ client->my_receive = GNUNET_SCHEDULER_NO_TASK;
shutdown_incoming_processing (client);
}
Modified: gnunet/src/util/test_network.c
===================================================================
--- gnunet/src/util/test_network.c 2009-07-24 17:56:28 UTC (rev 8772)
+++ gnunet/src/util/test_network.c 2009-07-24 22:04:41 UTC (rev 8773)
@@ -169,7 +169,7 @@
GNUNET_SCHEDULER_add_read (tc->sched,
GNUNET_NO,
GNUNET_SCHEDULER_PRIORITY_HIGH,
- GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
+ GNUNET_SCHEDULER_NO_TASK,
GNUNET_TIME_UNIT_FOREVER_REL,
ls, &run_accept, cls);
}
Modified: gnunet/src/util/test_network_addressing.c
===================================================================
--- gnunet/src/util/test_network_addressing.c 2009-07-24 17:56:28 UTC (rev
8772)
+++ gnunet/src/util/test_network_addressing.c 2009-07-24 22:04:41 UTC (rev
8773)
@@ -159,7 +159,7 @@
GNUNET_SCHEDULER_add_read (tc->sched,
GNUNET_NO,
GNUNET_SCHEDULER_PRIORITY_HIGH,
- GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
+ GNUNET_SCHEDULER_NO_TASK,
GNUNET_TIME_UNIT_FOREVER_REL,
ls, &run_accept, cls);
}
Modified: gnunet/src/util/test_network_receive_cancel.c
===================================================================
--- gnunet/src/util/test_network_receive_cancel.c 2009-07-24 17:56:28 UTC
(rev 8772)
+++ gnunet/src/util/test_network_receive_cancel.c 2009-07-24 22:04:41 UTC
(rev 8773)
@@ -123,13 +123,13 @@
GNUNET_SCHEDULER_add_read (tc->sched,
GNUNET_NO,
GNUNET_SCHEDULER_PRIORITY_HIGH,
- GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
+ GNUNET_SCHEDULER_NO_TASK,
GNUNET_TIME_UNIT_FOREVER_REL,
ls, &run_accept_cancel, cls);
GNUNET_SCHEDULER_add_delayed (tc->sched,
GNUNET_NO,
GNUNET_SCHEDULER_PRIORITY_KEEP,
- GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
+ GNUNET_SCHEDULER_NO_TASK,
GNUNET_TIME_UNIT_SECONDS,
&receive_cancel_task, cls);
}
Modified: gnunet/src/util/test_scheduler.c
===================================================================
--- gnunet/src/util/test_scheduler.c 2009-07-24 17:56:28 UTC (rev 8772)
+++ gnunet/src/util/test_scheduler.c 2009-07-24 22:04:41 UTC (rev 8773)
@@ -118,13 +118,13 @@
GNUNET_SCHEDULER_add_read (tc->sched,
GNUNET_NO,
GNUNET_SCHEDULER_PRIORITY_DEFAULT,
- GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
+ GNUNET_SCHEDULER_NO_TASK,
GNUNET_TIME_UNIT_FOREVER_REL,
fds[0], &taskRd, cls);
GNUNET_SCHEDULER_add_write (tc->sched,
GNUNET_NO,
GNUNET_SCHEDULER_PRIORITY_DEFAULT,
- GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
+ GNUNET_SCHEDULER_NO_TASK,
GNUNET_TIME_UNIT_FOREVER_REL,
fds[1], &taskWrt, cls);
}
@@ -144,7 +144,7 @@
t2 = GNUNET_SCHEDULER_add_after (tc->sched,
GNUNET_NO,
GNUNET_SCHEDULER_PRIORITY_IDLE,
- GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
+ GNUNET_SCHEDULER_NO_TASK,
&task2, cls);
/* t3 will go before t4: higher priority */
t4 = GNUNET_SCHEDULER_add_after (tc->sched,
Modified: gnunet/src/util/test_scheduler_delay.c
===================================================================
--- gnunet/src/util/test_scheduler_delay.c 2009-07-24 17:56:28 UTC (rev
8772)
+++ gnunet/src/util/test_scheduler_delay.c 2009-07-24 22:04:41 UTC (rev
8773)
@@ -68,7 +68,7 @@
GNUNET_SCHEDULER_add_delayed (tc->sched,
GNUNET_NO,
GNUNET_SCHEDULER_PRIORITY_DEFAULT,
- GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
+ GNUNET_SCHEDULER_NO_TASK,
GNUNET_TIME_relative_multiply
(GNUNET_TIME_UNIT_MILLISECONDS, i),
&test_task, NULL);
Modified: gnunet/src/util/test_server.c
===================================================================
--- gnunet/src/util/test_server.c 2009-07-24 17:56:28 UTC (rev 8772)
+++ gnunet/src/util/test_server.c 2009-07-24 22:04:41 UTC (rev 8773)
@@ -77,7 +77,7 @@
struct SignalTimeoutContext *stctx;
GNUNET_SCHEDULER_TaskIdentifier ret;
- ret = GNUNET_SCHEDULER_NO_PREREQUISITE_TASK;
+ ret = GNUNET_SCHEDULER_NO_TASK;
switch (*ok)
{
case 1:
@@ -98,7 +98,7 @@
ret = GNUNET_SCHEDULER_add_delayed (sched,
GNUNET_NO,
GNUNET_SCHEDULER_PRIORITY_KEEP,
-
GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
+ GNUNET_SCHEDULER_NO_TASK,
timeout, &signal_timeout, stctx);
break;
default:
Modified: gnunet/src/util/test_server_disconnect.c
===================================================================
--- gnunet/src/util/test_server_disconnect.c 2009-07-24 17:56:28 UTC (rev
8772)
+++ gnunet/src/util/test_server_disconnect.c 2009-07-24 22:04:41 UTC (rev
8773)
@@ -94,7 +94,7 @@
GNUNET_SCHEDULER_add_delayed (sched,
GNUNET_YES,
GNUNET_SCHEDULER_PRIORITY_KEEP,
- GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
+ GNUNET_SCHEDULER_NO_TASK,
GNUNET_TIME_relative_multiply
(GNUNET_TIME_UNIT_MILLISECONDS, 50),
&send_done, argclient);
@@ -104,7 +104,7 @@
GNUNET_SCHEDULER_add_delayed (sched,
GNUNET_YES,
GNUNET_SCHEDULER_PRIORITY_KEEP,
- GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
+ GNUNET_SCHEDULER_NO_TASK,
GNUNET_TIME_relative_multiply
(GNUNET_TIME_UNIT_MILLISECONDS, 50),
&server_disconnect, argclient);
Modified: gnunet/src/util/test_server_with_client.c
===================================================================
--- gnunet/src/util/test_server_with_client.c 2009-07-24 17:56:28 UTC (rev
8772)
+++ gnunet/src/util/test_server_with_client.c 2009-07-24 22:04:41 UTC (rev
8773)
@@ -86,7 +86,7 @@
GNUNET_SCHEDULER_add_delayed (sched,
GNUNET_YES,
GNUNET_SCHEDULER_PRIORITY_KEEP,
- GNUNET_SCHEDULER_NO_PREREQUISITE_TASK,
+ GNUNET_SCHEDULER_NO_TASK,
GNUNET_TIME_relative_multiply
(GNUNET_TIME_UNIT_MILLISECONDS, 50),
&send_done, argclient);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r8773 - in gnunet/src: arm core datastore hostlist include peerinfo topology transport util,
gnunet <=