diff options
author | Christian Grothoff <christian@grothoff.org> | 2013-05-30 13:04:02 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2013-05-30 13:04:02 +0000 |
commit | e80a0f007995572e8b1ab167de88b0a547841828 (patch) | |
tree | 46dc959ed7dbc53685f222fd8a3c6a381c9f3d44 | |
parent | b37045470834cf349c8bdf31938823809e67bfb5 (diff) | |
download | gnunet-e80a0f007995572e8b1ab167de88b0a547841828.tar.gz gnunet-e80a0f007995572e8b1ab167de88b0a547841828.zip |
-preparations for fixing #2711
-rw-r--r-- | src/fs/fs_api.c | 11 | ||||
-rw-r--r-- | src/fs/fs_api.h | 15 | ||||
-rw-r--r-- | src/fs/fs_search.c | 47 |
3 files changed, 45 insertions, 28 deletions
diff --git a/src/fs/fs_api.c b/src/fs/fs_api.c index b7ae05527..da7acc903 100644 --- a/src/fs/fs_api.c +++ b/src/fs/fs_api.c | |||
@@ -1965,7 +1965,7 @@ GNUNET_FS_search_result_sync_ (struct GNUNET_FS_SearchResult *sr) | |||
1965 | uris = NULL; | 1965 | uris = NULL; |
1966 | if (NULL == sr->serialization) | 1966 | if (NULL == sr->serialization) |
1967 | sr->serialization = | 1967 | sr->serialization = |
1968 | make_serialization_file_name_in_dir (sr->sc->h, | 1968 | make_serialization_file_name_in_dir (sr->h, |
1969 | (sr->sc->psearch_result == | 1969 | (sr->sc->psearch_result == |
1970 | NULL) ? | 1970 | NULL) ? |
1971 | GNUNET_FS_SYNC_PATH_MASTER_SEARCH : | 1971 | GNUNET_FS_SYNC_PATH_MASTER_SEARCH : |
@@ -1973,7 +1973,7 @@ GNUNET_FS_search_result_sync_ (struct GNUNET_FS_SearchResult *sr) | |||
1973 | sr->sc->serialization); | 1973 | sr->sc->serialization); |
1974 | if (NULL == sr->serialization) | 1974 | if (NULL == sr->serialization) |
1975 | return; | 1975 | return; |
1976 | wh = get_write_handle_in_dir (sr->sc->h, | 1976 | wh = get_write_handle_in_dir (sr->h, |
1977 | (sr->sc->psearch_result == | 1977 | (sr->sc->psearch_result == |
1978 | NULL) ? GNUNET_FS_SYNC_PATH_MASTER_SEARCH : | 1978 | NULL) ? GNUNET_FS_SYNC_PATH_MASTER_SEARCH : |
1979 | GNUNET_FS_SYNC_PATH_CHILD_SEARCH, | 1979 | GNUNET_FS_SYNC_PATH_CHILD_SEARCH, |
@@ -2023,7 +2023,7 @@ cleanup: | |||
2023 | GNUNET_free_non_null (uris); | 2023 | GNUNET_free_non_null (uris); |
2024 | if (NULL != wh) | 2024 | if (NULL != wh) |
2025 | (void) GNUNET_BIO_write_close (wh); | 2025 | (void) GNUNET_BIO_write_close (wh); |
2026 | remove_sync_file_in_dir (sr->sc->h, | 2026 | remove_sync_file_in_dir (sr->h, |
2027 | (NULL == sr->sc->psearch_result) | 2027 | (NULL == sr->sc->psearch_result) |
2028 | ? GNUNET_FS_SYNC_PATH_MASTER_SEARCH | 2028 | ? GNUNET_FS_SYNC_PATH_MASTER_SEARCH |
2029 | : GNUNET_FS_SYNC_PATH_CHILD_SEARCH, | 2029 | : GNUNET_FS_SYNC_PATH_CHILD_SEARCH, |
@@ -2322,6 +2322,7 @@ deserialize_search_result (void *cls, const char *filename) | |||
2322 | download = NULL; | 2322 | download = NULL; |
2323 | update_srch = NULL; | 2323 | update_srch = NULL; |
2324 | sr = GNUNET_malloc (sizeof (struct GNUNET_FS_SearchResult)); | 2324 | sr = GNUNET_malloc (sizeof (struct GNUNET_FS_SearchResult)); |
2325 | sr->h = sc->h; | ||
2325 | sr->sc = sc; | 2326 | sr->sc = sc; |
2326 | sr->serialization = ser; | 2327 | sr->serialization = ser; |
2327 | if ((GNUNET_OK != GNUNET_BIO_read_string (rh, "result-uri", &uris, 10 * 1024)) | 2328 | if ((GNUNET_OK != GNUNET_BIO_read_string (rh, "result-uri", &uris, 10 * 1024)) |
@@ -2485,7 +2486,7 @@ signal_result_resume (void *cls, const struct GNUNET_HashCode * key, void *value | |||
2485 | sr->availability_trials; | 2486 | sr->availability_trials; |
2486 | pi.value.search.specifics.resume_result.applicability_rank = | 2487 | pi.value.search.specifics.resume_result.applicability_rank = |
2487 | sr->optional_support; | 2488 | sr->optional_support; |
2488 | sr->client_info = GNUNET_FS_search_make_status_ (&pi, sc); | 2489 | sr->client_info = GNUNET_FS_search_make_status_ (&pi, sc->h, sc); |
2489 | } | 2490 | } |
2490 | if (NULL != sr->download) | 2491 | if (NULL != sr->download) |
2491 | { | 2492 | { |
@@ -2761,7 +2762,7 @@ signal_search_resume (struct GNUNET_FS_SearchContext *sc) | |||
2761 | pi.value.search.specifics.resume.message = sc->emsg; | 2762 | pi.value.search.specifics.resume.message = sc->emsg; |
2762 | pi.value.search.specifics.resume.is_paused = | 2763 | pi.value.search.specifics.resume.is_paused = |
2763 | (NULL == sc->client) ? GNUNET_YES : GNUNET_NO; | 2764 | (NULL == sc->client) ? GNUNET_YES : GNUNET_NO; |
2764 | sc->client_info = GNUNET_FS_search_make_status_ (&pi, sc); | 2765 | sc->client_info = GNUNET_FS_search_make_status_ (&pi, sc->h, sc); |
2765 | GNUNET_CONTAINER_multihashmap_iterate (sc->master_result_map, | 2766 | GNUNET_CONTAINER_multihashmap_iterate (sc->master_result_map, |
2766 | &signal_result_resume, sc); | 2767 | &signal_result_resume, sc); |
2767 | 2768 | ||
diff --git a/src/fs/fs_api.h b/src/fs/fs_api.h index 8d9c0b298..9e3e9e787 100644 --- a/src/fs/fs_api.h +++ b/src/fs/fs_api.h | |||
@@ -510,8 +510,6 @@ struct GNUNET_FS_QueueEntry | |||
510 | }; | 510 | }; |
511 | 511 | ||
512 | 512 | ||
513 | |||
514 | |||
515 | /** | 513 | /** |
516 | * Information we store for each search result. | 514 | * Information we store for each search result. |
517 | */ | 515 | */ |
@@ -519,7 +517,13 @@ struct GNUNET_FS_SearchResult | |||
519 | { | 517 | { |
520 | 518 | ||
521 | /** | 519 | /** |
522 | * Search context this result belongs to. | 520 | * File-sharing context this result belongs to. |
521 | */ | ||
522 | struct GNUNET_FS_Handle *h; | ||
523 | |||
524 | /** | ||
525 | * Search context this result belongs to; can be NULL | ||
526 | * for probes that come from a directory result. | ||
523 | */ | 527 | */ |
524 | struct GNUNET_FS_SearchContext *sc; | 528 | struct GNUNET_FS_SearchContext *sc; |
525 | 529 | ||
@@ -819,11 +823,13 @@ GNUNET_FS_unindex_make_status_ (struct GNUNET_FS_ProgressInfo *pi, | |||
819 | * call the callback. | 823 | * call the callback. |
820 | * | 824 | * |
821 | * @param pi structure to fill in | 825 | * @param pi structure to fill in |
826 | * @param h file-sharing handle | ||
822 | * @param sc overall search context | 827 | * @param sc overall search context |
823 | * @return value returned by the callback | 828 | * @return value returned by the callback |
824 | */ | 829 | */ |
825 | void * | 830 | void * |
826 | GNUNET_FS_search_make_status_ (struct GNUNET_FS_ProgressInfo *pi, | 831 | GNUNET_FS_search_make_status_ (struct GNUNET_FS_ProgressInfo *pi, |
832 | struct GNUNET_FS_Handle *h, | ||
827 | struct GNUNET_FS_SearchContext *sc); | 833 | struct GNUNET_FS_SearchContext *sc); |
828 | 834 | ||
829 | 835 | ||
@@ -1992,6 +1998,9 @@ struct NamespaceUpdateNode | |||
1992 | }; | 1998 | }; |
1993 | 1999 | ||
1994 | 2000 | ||
2001 | /** | ||
2002 | * Handle to one of our namespaces. | ||
2003 | */ | ||
1995 | struct GNUNET_FS_Namespace | 2004 | struct GNUNET_FS_Namespace |
1996 | { | 2005 | { |
1997 | 2006 | ||
diff --git a/src/fs/fs_search.c b/src/fs/fs_search.c index 016201e0f..0c51ed394 100644 --- a/src/fs/fs_search.c +++ b/src/fs/fs_search.c | |||
@@ -39,24 +39,29 @@ | |||
39 | * call the callback. | 39 | * call the callback. |
40 | * | 40 | * |
41 | * @param pi structure to fill in | 41 | * @param pi structure to fill in |
42 | * @param h file-sharing handle | ||
42 | * @param sc overall search context | 43 | * @param sc overall search context |
43 | * @return value returned by the callback | 44 | * @return value returned by the callback |
44 | */ | 45 | */ |
45 | void * | 46 | void * |
46 | GNUNET_FS_search_make_status_ (struct GNUNET_FS_ProgressInfo *pi, | 47 | GNUNET_FS_search_make_status_ (struct GNUNET_FS_ProgressInfo *pi, |
48 | struct GNUNET_FS_Handle *h, | ||
47 | struct GNUNET_FS_SearchContext *sc) | 49 | struct GNUNET_FS_SearchContext *sc) |
48 | { | 50 | { |
49 | void *ret; | 51 | void *ret; |
50 | 52 | ||
51 | pi->value.search.sc = sc; | 53 | pi->value.search.sc = sc; |
52 | pi->value.search.cctx = sc->client_info; | 54 | pi->value.search.cctx = (NULL != sc) ? sc->client_info : NULL; |
53 | pi->value.search.pctx = | 55 | pi->value.search.pctx = |
54 | (NULL == sc->psearch_result) ? NULL : sc->psearch_result->client_info; | 56 | ((NULL == sc) || (NULL == sc->psearch_result)) |
55 | pi->value.search.query = sc->uri; | 57 | ? NULL |
56 | pi->value.search.duration = | 58 | : sc->psearch_result->client_info; |
57 | GNUNET_TIME_absolute_get_duration (sc->start_time); | 59 | pi->value.search.query = (NULL != sc) ? sc->uri : NULL; |
58 | pi->value.search.anonymity = sc->anonymity; | 60 | pi->value.search.duration = (NULL != sc) |
59 | ret = sc->h->upcb (sc->h->upcb_cls, pi); | 61 | ? GNUNET_TIME_absolute_get_duration (sc->start_time) |
62 | : GNUNET_TIME_UNIT_ZERO; | ||
63 | pi->value.search.anonymity = (NULL != sc) ? sc->anonymity : 0; | ||
64 | ret = h->upcb (h->upcb_cls, pi); | ||
60 | return ret; | 65 | return ret; |
61 | } | 66 | } |
62 | 67 | ||
@@ -102,7 +107,7 @@ notify_client_chk_result (struct GNUNET_FS_SearchContext *sc, | |||
102 | pi.value.search.specifics.result.uri = sr->uri; | 107 | pi.value.search.specifics.result.uri = sr->uri; |
103 | pi.value.search.specifics.result.result = sr; | 108 | pi.value.search.specifics.result.result = sr; |
104 | pi.value.search.specifics.result.applicability_rank = sr->optional_support; | 109 | pi.value.search.specifics.result.applicability_rank = sr->optional_support; |
105 | sr->client_info = GNUNET_FS_search_make_status_ (&pi, sc); | 110 | sr->client_info = GNUNET_FS_search_make_status_ (&pi, sc->h, sc); |
106 | } | 111 | } |
107 | 112 | ||
108 | 113 | ||
@@ -130,7 +135,7 @@ notify_client_chk_update (struct GNUNET_FS_SearchContext *sc, | |||
130 | pi.value.search.specifics.update.applicability_rank = sr->optional_support; | 135 | pi.value.search.specifics.update.applicability_rank = sr->optional_support; |
131 | pi.value.search.specifics.update.current_probe_time | 136 | pi.value.search.specifics.update.current_probe_time |
132 | = GNUNET_TIME_absolute_get_duration (sr->probe_active_time); | 137 | = GNUNET_TIME_absolute_get_duration (sr->probe_active_time); |
133 | sr->client_info = GNUNET_FS_search_make_status_ (&pi, sc); | 138 | sr->client_info = GNUNET_FS_search_make_status_ (&pi, sc->h, sc); |
134 | } | 139 | } |
135 | 140 | ||
136 | 141 | ||
@@ -194,7 +199,7 @@ signal_probe_result (struct GNUNET_FS_SearchResult *sr) | |||
194 | pi.value.search.specifics.update.applicability_rank = sr->optional_support; | 199 | pi.value.search.specifics.update.applicability_rank = sr->optional_support; |
195 | pi.value.search.specifics.update.current_probe_time | 200 | pi.value.search.specifics.update.current_probe_time |
196 | = GNUNET_TIME_absolute_get_duration (sr->probe_active_time); | 201 | = GNUNET_TIME_absolute_get_duration (sr->probe_active_time); |
197 | sr->client_info = GNUNET_FS_search_make_status_ (&pi, sr->sc); | 202 | sr->client_info = GNUNET_FS_search_make_status_ (&pi, sr->h, sr->sc); |
198 | GNUNET_FS_search_start_probe_ (sr); | 203 | GNUNET_FS_search_start_probe_ (sr); |
199 | } | 204 | } |
200 | 205 | ||
@@ -395,7 +400,7 @@ GNUNET_FS_search_start_probe_ (struct GNUNET_FS_SearchResult *sr) | |||
395 | return; | 400 | return; |
396 | if (NULL != sr->download) | 401 | if (NULL != sr->download) |
397 | return; | 402 | return; |
398 | if (0 == (sr->sc->h->flags & GNUNET_FS_FLAGS_DO_PROBES)) | 403 | if (0 == (sr->h->flags & GNUNET_FS_FLAGS_DO_PROBES)) |
399 | return; | 404 | return; |
400 | if (sr->availability_trials > AVAILABILITY_TRIALS_MAX) | 405 | if (sr->availability_trials > AVAILABILITY_TRIALS_MAX) |
401 | return; | 406 | return; |
@@ -420,10 +425,10 @@ GNUNET_FS_search_start_probe_ (struct GNUNET_FS_SearchResult *sr) | |||
420 | (unsigned long long) off, | 425 | (unsigned long long) off, |
421 | sr); | 426 | sr); |
422 | sr->remaining_probe_time = | 427 | sr->remaining_probe_time = |
423 | GNUNET_TIME_relative_multiply (sr->sc->h->avg_block_latency, | 428 | GNUNET_TIME_relative_multiply (sr->h->avg_block_latency, |
424 | 2 * (1 + sr->availability_trials)); | 429 | 2 * (1 + sr->availability_trials)); |
425 | sr->probe_ctx = | 430 | sr->probe_ctx = |
426 | GNUNET_FS_download_start (sr->sc->h, sr->uri, sr->meta, NULL, NULL, off, | 431 | GNUNET_FS_download_start (sr->h, sr->uri, sr->meta, NULL, NULL, off, |
427 | len, sr->sc->anonymity, | 432 | len, sr->sc->anonymity, |
428 | GNUNET_FS_DOWNLOAD_NO_TEMPORARIES | | 433 | GNUNET_FS_DOWNLOAD_NO_TEMPORARIES | |
429 | GNUNET_FS_DOWNLOAD_IS_PROBE, sr, NULL); | 434 | GNUNET_FS_DOWNLOAD_IS_PROBE, sr, NULL); |
@@ -473,6 +478,7 @@ process_ksk_result (struct GNUNET_FS_SearchContext *sc, | |||
473 | if (NULL == sr) | 478 | if (NULL == sr) |
474 | { | 479 | { |
475 | sr = GNUNET_malloc (sizeof (struct GNUNET_FS_SearchResult)); | 480 | sr = GNUNET_malloc (sizeof (struct GNUNET_FS_SearchResult)); |
481 | sr->h = sc->h; | ||
476 | sr->sc = sc; | 482 | sr->sc = sc; |
477 | sr->uri = GNUNET_FS_uri_dup (uri); | 483 | sr->uri = GNUNET_FS_uri_dup (uri); |
478 | sr->meta = GNUNET_CONTAINER_meta_data_duplicate (meta); | 484 | sr->meta = GNUNET_CONTAINER_meta_data_duplicate (meta); |
@@ -552,6 +558,7 @@ process_sks_result (struct GNUNET_FS_SearchContext *sc, const char *id_update, | |||
552 | (void *) uri)) | 558 | (void *) uri)) |
553 | return; /* duplicate result */ | 559 | return; /* duplicate result */ |
554 | sr = GNUNET_malloc (sizeof (struct GNUNET_FS_SearchResult)); | 560 | sr = GNUNET_malloc (sizeof (struct GNUNET_FS_SearchResult)); |
561 | sr->h = sc->h; | ||
555 | sr->sc = sc; | 562 | sr->sc = sc; |
556 | sr->uri = GNUNET_FS_uri_dup (uri); | 563 | sr->uri = GNUNET_FS_uri_dup (uri); |
557 | sr->meta = GNUNET_CONTAINER_meta_data_duplicate (meta); | 564 | sr->meta = GNUNET_CONTAINER_meta_data_duplicate (meta); |
@@ -1191,7 +1198,7 @@ search_start (struct GNUNET_FS_Handle *h, const struct GNUNET_FS_Uri *uri, | |||
1191 | } | 1198 | } |
1192 | GNUNET_FS_search_sync_ (sc); | 1199 | GNUNET_FS_search_sync_ (sc); |
1193 | pi.status = GNUNET_FS_STATUS_SEARCH_START; | 1200 | pi.status = GNUNET_FS_STATUS_SEARCH_START; |
1194 | sc->client_info = GNUNET_FS_search_make_status_ (&pi, sc); | 1201 | sc->client_info = GNUNET_FS_search_make_status_ (&pi, sc->h, sc); |
1195 | return sc; | 1202 | return sc; |
1196 | } | 1203 | } |
1197 | 1204 | ||
@@ -1342,7 +1349,7 @@ search_result_suspend (void *cls, const struct GNUNET_HashCode * key, void *valu | |||
1342 | pi.value.search.specifics.result_suspend.cctx = sr->client_info; | 1349 | pi.value.search.specifics.result_suspend.cctx = sr->client_info; |
1343 | pi.value.search.specifics.result_suspend.meta = sr->meta; | 1350 | pi.value.search.specifics.result_suspend.meta = sr->meta; |
1344 | pi.value.search.specifics.result_suspend.uri = sr->uri; | 1351 | pi.value.search.specifics.result_suspend.uri = sr->uri; |
1345 | sr->client_info = GNUNET_FS_search_make_status_ (&pi, sc); | 1352 | sr->client_info = GNUNET_FS_search_make_status_ (&pi, sc->h, sc); |
1346 | GNUNET_break (NULL == sr->client_info); | 1353 | GNUNET_break (NULL == sr->client_info); |
1347 | GNUNET_free_non_null (sr->serialization); | 1354 | GNUNET_free_non_null (sr->serialization); |
1348 | GNUNET_FS_uri_destroy (sr->uri); | 1355 | GNUNET_FS_uri_destroy (sr->uri); |
@@ -1375,7 +1382,7 @@ GNUNET_FS_search_signal_suspend_ (void *cls) | |||
1375 | GNUNET_CONTAINER_multihashmap_iterate (sc->master_result_map, | 1382 | GNUNET_CONTAINER_multihashmap_iterate (sc->master_result_map, |
1376 | &search_result_suspend, sc); | 1383 | &search_result_suspend, sc); |
1377 | pi.status = GNUNET_FS_STATUS_SEARCH_SUSPEND; | 1384 | pi.status = GNUNET_FS_STATUS_SEARCH_SUSPEND; |
1378 | sc->client_info = GNUNET_FS_search_make_status_ (&pi, sc); | 1385 | sc->client_info = GNUNET_FS_search_make_status_ (&pi, sc->h, sc); |
1379 | GNUNET_break (NULL == sc->client_info); | 1386 | GNUNET_break (NULL == sc->client_info); |
1380 | if (sc->task != GNUNET_SCHEDULER_NO_TASK) | 1387 | if (sc->task != GNUNET_SCHEDULER_NO_TASK) |
1381 | GNUNET_SCHEDULER_cancel (sc->task); | 1388 | GNUNET_SCHEDULER_cancel (sc->task); |
@@ -1442,7 +1449,7 @@ GNUNET_FS_search_pause (struct GNUNET_FS_SearchContext *sc) | |||
1442 | GNUNET_CONTAINER_multihashmap_iterate (sc->master_result_map, | 1449 | GNUNET_CONTAINER_multihashmap_iterate (sc->master_result_map, |
1443 | &search_result_freeze_probes, sc); | 1450 | &search_result_freeze_probes, sc); |
1444 | pi.status = GNUNET_FS_STATUS_SEARCH_PAUSED; | 1451 | pi.status = GNUNET_FS_STATUS_SEARCH_PAUSED; |
1445 | sc->client_info = GNUNET_FS_search_make_status_ (&pi, sc); | 1452 | sc->client_info = GNUNET_FS_search_make_status_ (&pi, sc->h, sc); |
1446 | } | 1453 | } |
1447 | 1454 | ||
1448 | 1455 | ||
@@ -1461,7 +1468,7 @@ GNUNET_FS_search_continue (struct GNUNET_FS_SearchContext *sc) | |||
1461 | do_reconnect (sc, NULL); | 1468 | do_reconnect (sc, NULL); |
1462 | GNUNET_FS_search_sync_ (sc); | 1469 | GNUNET_FS_search_sync_ (sc); |
1463 | pi.status = GNUNET_FS_STATUS_SEARCH_CONTINUED; | 1470 | pi.status = GNUNET_FS_STATUS_SEARCH_CONTINUED; |
1464 | sc->client_info = GNUNET_FS_search_make_status_ (&pi, sc); | 1471 | sc->client_info = GNUNET_FS_search_make_status_ (&pi, sc->h, sc); |
1465 | GNUNET_CONTAINER_multihashmap_iterate (sc->master_result_map, | 1472 | GNUNET_CONTAINER_multihashmap_iterate (sc->master_result_map, |
1466 | &search_result_resume_probes, sc); | 1473 | &search_result_resume_probes, sc); |
1467 | } | 1474 | } |
@@ -1520,7 +1527,7 @@ search_result_stop (void *cls, const struct GNUNET_HashCode * key, void *value) | |||
1520 | pi.value.search.specifics.result_stopped.cctx = sr->client_info; | 1527 | pi.value.search.specifics.result_stopped.cctx = sr->client_info; |
1521 | pi.value.search.specifics.result_stopped.meta = sr->meta; | 1528 | pi.value.search.specifics.result_stopped.meta = sr->meta; |
1522 | pi.value.search.specifics.result_stopped.uri = sr->uri; | 1529 | pi.value.search.specifics.result_stopped.uri = sr->uri; |
1523 | sr->client_info = GNUNET_FS_search_make_status_ (&pi, sc); | 1530 | sr->client_info = GNUNET_FS_search_make_status_ (&pi, sr->h, sc); |
1524 | return GNUNET_OK; | 1531 | return GNUNET_OK; |
1525 | } | 1532 | } |
1526 | 1533 | ||
@@ -1588,7 +1595,7 @@ GNUNET_FS_search_stop (struct GNUNET_FS_SearchContext *sc) | |||
1588 | GNUNET_free (sc->serialization); | 1595 | GNUNET_free (sc->serialization); |
1589 | } | 1596 | } |
1590 | pi.status = GNUNET_FS_STATUS_SEARCH_STOPPED; | 1597 | pi.status = GNUNET_FS_STATUS_SEARCH_STOPPED; |
1591 | sc->client_info = GNUNET_FS_search_make_status_ (&pi, sc); | 1598 | sc->client_info = GNUNET_FS_search_make_status_ (&pi, sc->h, sc); |
1592 | GNUNET_break (NULL == sc->client_info); | 1599 | GNUNET_break (NULL == sc->client_info); |
1593 | if (GNUNET_SCHEDULER_NO_TASK != sc->task) | 1600 | if (GNUNET_SCHEDULER_NO_TASK != sc->task) |
1594 | GNUNET_SCHEDULER_cancel (sc->task); | 1601 | GNUNET_SCHEDULER_cancel (sc->task); |