aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/fs/gnunet-service-fs_lc.c17
-rw-r--r--src/fs/gnunet-service-fs_new.c8
-rw-r--r--src/fs/gnunet-service-fs_pr.c15
3 files changed, 36 insertions, 4 deletions
diff --git a/src/fs/gnunet-service-fs_lc.c b/src/fs/gnunet-service-fs_lc.c
index 2b069d9ca1..8727670e8d 100644
--- a/src/fs/gnunet-service-fs_lc.c
+++ b/src/fs/gnunet-service-fs_lc.c
@@ -232,12 +232,23 @@ client_response_handler (void *cls,
pm->expiration = GNUNET_TIME_absolute_hton (expiration);
memcpy (&pm[1], data, data_len);
GSF_local_client_transmit_ (lc, &pm->header);
-
+#if DEBUG_FS
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "Queued reply to query `%s' for local client\n",
+ GNUNET_h2s (&prd->query),
+ (unsigned int) prd->type);
+#endif
if (GNUNET_NO == more)
{
GNUNET_CONTAINER_DLL_remove (lc->cr_head,
lc->cr_tail,
cr);
+ GNUNET_SERVER_receive_done (lc->client,
+ GNUNET_OK);
+ GNUNET_STATISTICS_update (GSF_stats,
+ gettext_noop ("# client searches active"),
+ - 1,
+ GNUNET_NO);
GNUNET_free (cr);
}
}
@@ -469,6 +480,10 @@ GSF_client_disconnect_handler_ (void *cls,
pos->cr_tail,
cr);
GSF_pending_request_cancel_ (cr->pr);
+ GNUNET_STATISTICS_update (GSF_stats,
+ gettext_noop ("# client searches active"),
+ - 1,
+ GNUNET_NO);
GNUNET_free (cr);
}
while (NULL != (res = pos->res_head))
diff --git a/src/fs/gnunet-service-fs_new.c b/src/fs/gnunet-service-fs_new.c
index 0f5931a197..94a5ff2bf2 100644
--- a/src/fs/gnunet-service-fs_new.c
+++ b/src/fs/gnunet-service-fs_new.c
@@ -339,11 +339,17 @@ start_p2p_processing (void *cls,
struct GNUNET_SERVER_Client *client = cls;
struct GSF_PendingRequestData *prd;
+ prd = GSF_pending_request_get_data_ (pr);
+#if DEBUG_FS
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "Finished database lookup for local request `%s' with result %d\n",
+ GNUNET_h2s (&prd->query),
+ result);
+#endif
GNUNET_SERVER_receive_done (client,
GNUNET_OK);
if (GNUNET_BLOCK_EVALUATION_OK_LAST == result)
return; /* we're done, 'pr' was already destroyed... */
- prd = GSF_pending_request_get_data_ (pr);
if (0 != (GSF_PRO_LOCAL_ONLY & prd->options) )
{
GSF_pending_request_cancel_ (pr);
diff --git a/src/fs/gnunet-service-fs_pr.c b/src/fs/gnunet-service-fs_pr.c
index d8cd8716ef..c3116ba23e 100644
--- a/src/fs/gnunet-service-fs_pr.c
+++ b/src/fs/gnunet-service-fs_pr.c
@@ -1034,10 +1034,21 @@ process_local_reply (void *cls,
GSF_update_datastore_delay_ (pr->public_data.start_time);
process_reply (&prq, key, pr);
if (prq.finished == GNUNET_YES)
- return;
+ {
+#if DEBUG_FS
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "Request processing finished, not asking datastore for more\n");
+#endif
+ return;
+ }
pr->local_result = prq.eval;
if (pr->qe == NULL)
- return; /* done here */
+ {
+#if DEBUG_FS
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "Request cancelled, not asking datastore for more\n");
+#endif
+ }
if (prq.eval == GNUNET_BLOCK_EVALUATION_OK_LAST)
{
GNUNET_DATASTORE_get_next (GSF_dsh, GNUNET_NO);