[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r10228 - gnunet/src/core
From: |
gnunet |
Subject: |
[GNUnet-SVN] r10228 - gnunet/src/core |
Date: |
Fri, 5 Feb 2010 16:22:13 +0100 |
Author: nevans
Date: 2010-02-05 16:22:13 +0100 (Fri, 05 Feb 2010)
New Revision: 10228
Modified:
gnunet/src/core/gnunet-service-core.c
Log:
changes to continuations required change of state machine maintenance (or so I
claim)
Modified: gnunet/src/core/gnunet-service-core.c
===================================================================
--- gnunet/src/core/gnunet-service-core.c 2010-02-05 15:21:03 UTC (rev
10227)
+++ gnunet/src/core/gnunet-service-core.c 2010-02-05 15:22:13 UTC (rev
10228)
@@ -1508,7 +1508,22 @@
*/
static void send_key (struct Neighbour *n);
+/**
+ * Task that will retry "send_key" if our previous attempt failed
+ * to yield a PONG.
+ */
+static void
+set_key_retry_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
+{
+ struct Neighbour *n = cls;
+ 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);
+}
+
+
/**
* Check if we have plaintext messages for the specified neighbour
* pending, and if so, consider batching and encrypting them (and
@@ -1545,6 +1560,13 @@
#endif
return;
case PEER_STATE_KEY_SENT:
+ if (n->retry_set_key_task == GNUNET_SCHEDULER_NO_TASK)
+ {
+ n->retry_set_key_task
+ = GNUNET_SCHEDULER_add_delayed (sched,
+ n->set_key_retry_frequency,
+ &set_key_retry_task, n);
+ }
GNUNET_assert (n->retry_set_key_task !=
GNUNET_SCHEDULER_NO_TASK);
#if DEBUG_CORE
@@ -1554,6 +1576,13 @@
#endif
return;
case PEER_STATE_KEY_RECEIVED:
+ if (n->retry_set_key_task == GNUNET_SCHEDULER_NO_TASK)
+ {
+ n->retry_set_key_task
+ = GNUNET_SCHEDULER_add_delayed (sched,
+ n->set_key_retry_frequency,
+ &set_key_retry_task, n);
+ }
GNUNET_assert (n->retry_set_key_task !=
GNUNET_SCHEDULER_NO_TASK);
#if DEBUG_CORE
@@ -1918,22 +1947,6 @@
/**
- * Task that will retry "send_key" if our previous attempt failed
- * to yield a PONG.
- */
-static void
-set_key_retry_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
-{
- struct Neighbour *n = cls;
-
- 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);
-}
-
-
-/**
* PEERINFO is giving us a HELLO for a peer. Add the public key to
* the neighbour's struct and retry send_key. Or, if we did not get a
* HELLO, just do nothing.
@@ -1962,9 +1975,9 @@
send_key (n);
else
n->retry_set_key_task
- = GNUNET_SCHEDULER_add_delayed (sched,
- n->set_key_retry_frequency,
- &set_key_retry_task, n);
+ = GNUNET_SCHEDULER_add_delayed (sched,
+ n->set_key_retry_frequency,
+ &set_key_retry_task, n);
return;
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r10228 - gnunet/src/core,
gnunet <=