[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r29704 - gnunet/src/namestore
From: |
gnunet |
Subject: |
[GNUnet-SVN] r29704 - gnunet/src/namestore |
Date: |
Mon, 30 Sep 2013 12:45:05 +0200 |
Author: grothoff
Date: 2013-09-30 12:45:05 +0200 (Mon, 30 Sep 2013)
New Revision: 29704
Modified:
gnunet/src/namestore/gnunet-service-namestore.c
gnunet/src/namestore/namestore_api.c
Log:
-fixing namestore to not disconnect on empty iteration result --- and namestore
API to better survive disconnect
Modified: gnunet/src/namestore/gnunet-service-namestore.c
===================================================================
--- gnunet/src/namestore/gnunet-service-namestore.c 2013-09-30 10:20:56 UTC
(rev 29703)
+++ gnunet/src/namestore/gnunet-service-namestore.c 2013-09-30 10:45:05 UTC
(rev 29704)
@@ -844,7 +844,7 @@
&ztnr_msg.gns_header.header,
GNUNET_NO);
}
- GNUNET_SERVER_receive_done (client, ztn_ctx.success);
+ GNUNET_SERVER_receive_done (client, GNUNET_OK);
}
@@ -1176,7 +1176,7 @@
/**
- * Handles a 'GNUNET_MESSAGE_TYPE_NAMESTORE_MONITOR_START' message
+ * Handles a #GNUNET_MESSAGE_TYPE_NAMESTORE_MONITOR_START message
*
* @param cls unused
* @param client GNUNET_SERVER_Client sending the message
Modified: gnunet/src/namestore/namestore_api.c
===================================================================
--- gnunet/src/namestore/namestore_api.c 2013-09-30 10:20:56 UTC (rev
29703)
+++ gnunet/src/namestore/namestore_api.c 2013-09-30 10:45:05 UTC (rev
29704)
@@ -226,6 +226,11 @@
GNUNET_SCHEDULER_TaskIdentifier reconnect_task;
/**
+ * Delay introduced before we reconnect.
+ */
+ struct GNUNET_TIME_Relative reconnect_delay;
+
+ /**
* Should we reconnect to service due to some serious error?
*/
int reconnect;
@@ -858,6 +863,7 @@
GNUNET_TIME_UNIT_FOREVER_REL,
GNUNET_NO,
&transmit_message_to_namestore,
h);
+ GNUNET_break (NULL != h->th);
}
@@ -901,11 +907,19 @@
static void
force_reconnect (struct GNUNET_NAMESTORE_Handle *h)
{
+ if (NULL != h->th)
+ {
+ GNUNET_CLIENT_notify_transmit_ready_cancel (h->th);
+ h->th = NULL;
+ }
h->reconnect = GNUNET_NO;
GNUNET_CLIENT_disconnect (h->client);
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "Reconnecting to namestore\n");
h->is_receiving = GNUNET_NO;
h->client = NULL;
- h->reconnect_task = GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_SECONDS,
+ h->reconnect_delay = GNUNET_TIME_STD_BACKOFF (h->reconnect_delay);
+ h->reconnect_task = GNUNET_SCHEDULER_add_delayed (h->reconnect_delay,
&reconnect_task,
h);
}
@@ -958,6 +972,11 @@
LOG (GNUNET_ERROR_TYPE_DEBUG, "Cleaning up\n");
GNUNET_assert (NULL != h);
+ if (NULL != h->th)
+ {
+ GNUNET_CLIENT_notify_transmit_ready_cancel (h->th);
+ h->th = NULL;
+ }
while (NULL != (p = h->pending_head))
{
GNUNET_CONTAINER_DLL_remove (h->pending_head, h->pending_tail, p);
@@ -1041,7 +1060,7 @@
"NAMESTORE_BLOCK_CACHE",
(unsigned int) msg_size);
GNUNET_CONTAINER_DLL_insert_tail (h->pending_head, h->pending_tail, pe);
- do_transmit(h);
+ do_transmit (h);
return qe;
}
@@ -1123,7 +1142,7 @@
"NAMESTORE_RECORD_STORE", label, msg_size,
rd_count);
GNUNET_CONTAINER_DLL_insert_tail (h->pending_head, h->pending_tail, pe);
- do_transmit(h);
+ do_transmit (h);
return qe;
}
@@ -1172,7 +1191,7 @@
msg->gns_header.r_id = htonl (rid);
msg->query = *derived_hash;
GNUNET_CONTAINER_DLL_insert_tail (h->pending_head, h->pending_tail, pe);
- do_transmit(h);
+ do_transmit (h);
return qe;
}
@@ -1225,7 +1244,7 @@
/* transmit message */
GNUNET_CONTAINER_DLL_insert_tail (h->pending_head, h->pending_tail, pe);
- do_transmit(h);
+ do_transmit (h);
return qe;
}
@@ -1279,7 +1298,7 @@
if (NULL != zone)
msg->zone = *zone;
GNUNET_CONTAINER_DLL_insert_tail (h->pending_head, h->pending_tail, pe);
- do_transmit(h);
+ do_transmit (h);
return it;
}
@@ -1311,7 +1330,7 @@
"Sending `%s' message\n",
"ZONE_ITERATION_NEXT");
GNUNET_CONTAINER_DLL_insert_tail (h->pending_head, h->pending_tail, pe);
- do_transmit(h);
+ do_transmit (h);
}
@@ -1344,7 +1363,7 @@
"Sending `%s' message\n",
"ZONE_ITERATION_STOP");
GNUNET_CONTAINER_DLL_insert_tail (h->pending_head, h->pending_tail, pe);
- do_transmit(h);
+ do_transmit (h);
GNUNET_free (it);
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r29704 - gnunet/src/namestore,
gnunet <=