aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/fs/fs_search.c12
-rw-r--r--src/fs/gnunet-search.c3
-rw-r--r--src/fs/test_fs_namespace.c2
-rw-r--r--src/fs/test_fs_search.c5
-rw-r--r--src/include/gnunet_fs_service.h5
5 files changed, 19 insertions, 8 deletions
diff --git a/src/fs/fs_search.c b/src/fs/fs_search.c
index 94b8b2082..8b986ec7c 100644
--- a/src/fs/fs_search.c
+++ b/src/fs/fs_search.c
@@ -268,6 +268,7 @@ process_ksk_result (struct GNUNET_FS_SearchContext *sc,
268 * @param uri specifies the search parameters; can be 268 * @param uri specifies the search parameters; can be
269 * a KSK URI or an SKS URI. 269 * a KSK URI or an SKS URI.
270 * @param anonymity desired level of anonymity 270 * @param anonymity desired level of anonymity
271 * @param cctx client context
271 * @param parent parent search (for namespace update searches) 272 * @param parent parent search (for namespace update searches)
272 * @return context that can be used to control the search 273 * @return context that can be used to control the search
273 */ 274 */
@@ -275,6 +276,7 @@ static struct GNUNET_FS_SearchContext *
275search_start (struct GNUNET_FS_Handle *h, 276search_start (struct GNUNET_FS_Handle *h,
276 const struct GNUNET_FS_Uri *uri, 277 const struct GNUNET_FS_Uri *uri,
277 uint32_t anonymity, 278 uint32_t anonymity,
279 void *cctx,
278 struct GNUNET_FS_SearchContext *parent); 280 struct GNUNET_FS_SearchContext *parent);
279 281
280 282
@@ -336,6 +338,7 @@ process_sks_result (struct GNUNET_FS_SearchContext *sc,
336 search_start (sc->h, 338 search_start (sc->h,
337 &uu, 339 &uu,
338 sc->anonymity, 340 sc->anonymity,
341 NULL,
339 sc); 342 sc);
340} 343}
341 344
@@ -733,6 +736,7 @@ try_reconnect (struct GNUNET_FS_SearchContext *sc)
733 * @param uri specifies the search parameters; can be 736 * @param uri specifies the search parameters; can be
734 * a KSK URI or an SKS URI. 737 * a KSK URI or an SKS URI.
735 * @param anonymity desired level of anonymity 738 * @param anonymity desired level of anonymity
739 * @param cctx initial value for the client context
736 * @param parent parent search (for namespace update searches) 740 * @param parent parent search (for namespace update searches)
737 * @return context that can be used to control the search 741 * @return context that can be used to control the search
738 */ 742 */
@@ -740,6 +744,7 @@ static struct GNUNET_FS_SearchContext *
740search_start (struct GNUNET_FS_Handle *h, 744search_start (struct GNUNET_FS_Handle *h,
741 const struct GNUNET_FS_Uri *uri, 745 const struct GNUNET_FS_Uri *uri,
742 uint32_t anonymity, 746 uint32_t anonymity,
747 void *cctx,
743 struct GNUNET_FS_SearchContext *parent) 748 struct GNUNET_FS_SearchContext *parent)
744{ 749{
745 struct GNUNET_FS_SearchContext *sc; 750 struct GNUNET_FS_SearchContext *sc;
@@ -780,6 +785,7 @@ search_start (struct GNUNET_FS_Handle *h,
780 sc->client = client; 785 sc->client = client;
781 sc->parent = parent; 786 sc->parent = parent;
782 sc->master_result_map = GNUNET_CONTAINER_multihashmap_create (16); 787 sc->master_result_map = GNUNET_CONTAINER_multihashmap_create (16);
788 sc->client_info = cctx;
783 789
784 sc->requests = GNUNET_malloc (sizeof (struct SearchRequestEntry) * 790 sc->requests = GNUNET_malloc (sizeof (struct SearchRequestEntry) *
785 sc->uri->data.ksk.keywordCount); 791 sc->uri->data.ksk.keywordCount);
@@ -827,14 +833,16 @@ search_start (struct GNUNET_FS_Handle *h,
827 * @param uri specifies the search parameters; can be 833 * @param uri specifies the search parameters; can be
828 * a KSK URI or an SKS URI. 834 * a KSK URI or an SKS URI.
829 * @param anonymity desired level of anonymity 835 * @param anonymity desired level of anonymity
836 * @param cctx initial value for the client context
830 * @return context that can be used to control the search 837 * @return context that can be used to control the search
831 */ 838 */
832struct GNUNET_FS_SearchContext * 839struct GNUNET_FS_SearchContext *
833GNUNET_FS_search_start (struct GNUNET_FS_Handle *h, 840GNUNET_FS_search_start (struct GNUNET_FS_Handle *h,
834 const struct GNUNET_FS_Uri *uri, 841 const struct GNUNET_FS_Uri *uri,
835 uint32_t anonymity) 842 uint32_t anonymity,
843 void *cctx)
836{ 844{
837 return search_start (h, uri, anonymity, NULL); 845 return search_start (h, uri, anonymity, cctx, NULL);
838} 846}
839 847
840 848
diff --git a/src/fs/gnunet-search.c b/src/fs/gnunet-search.c
index ed864fa1c..067d77159 100644
--- a/src/fs/gnunet-search.c
+++ b/src/fs/gnunet-search.c
@@ -179,7 +179,8 @@ run (void *cls,
179 } 179 }
180 sc = GNUNET_FS_search_start (ctx, 180 sc = GNUNET_FS_search_start (ctx,
181 uri, 181 uri,
182 anonymity); 182 anonymity,
183 NULL);
183 GNUNET_FS_uri_destroy (uri); 184 GNUNET_FS_uri_destroy (uri);
184 if (NULL == sc) 185 if (NULL == sc)
185 { 186 {
diff --git a/src/fs/test_fs_namespace.c b/src/fs/test_fs_namespace.c
index 04e82c5d7..7a1a6f81e 100644
--- a/src/fs/test_fs_namespace.c
+++ b/src/fs/test_fs_namespace.c
@@ -108,7 +108,7 @@ publish_cont (void *cls,
108 108
109 GNUNET_assert (NULL == emsg); 109 GNUNET_assert (NULL == emsg);
110 fprintf (stderr, "Starting namespace search...\n"); 110 fprintf (stderr, "Starting namespace search...\n");
111 search = GNUNET_FS_search_start (fs, uri, 1); 111 search = GNUNET_FS_search_start (fs, uri, 1, "ns-search");
112} 112}
113 113
114 114
diff --git a/src/fs/test_fs_search.c b/src/fs/test_fs_search.c
index 01bb3c1f7..d1b5f77aa 100644
--- a/src/fs/test_fs_search.c
+++ b/src/fs/test_fs_search.c
@@ -114,7 +114,8 @@ progress_cb (void *cls,
114 start = GNUNET_TIME_absolute_get (); 114 start = GNUNET_TIME_absolute_get ();
115 search = GNUNET_FS_search_start (fs, 115 search = GNUNET_FS_search_start (fs,
116 kuri, 116 kuri,
117 1); 117 1,
118 "search");
118 GNUNET_FS_uri_destroy (kuri); 119 GNUNET_FS_uri_destroy (kuri);
119 GNUNET_assert (search != NULL); 120 GNUNET_assert (search != NULL);
120 break; 121 break;
@@ -165,7 +166,7 @@ progress_cb (void *cls,
165 break; 166 break;
166 case GNUNET_FS_STATUS_SEARCH_START: 167 case GNUNET_FS_STATUS_SEARCH_START:
167 GNUNET_assert (search == NULL); 168 GNUNET_assert (search == NULL);
168 // GNUNET_assert (0 == strcmp ("search", event->value.search.cctx)); 169 GNUNET_assert (0 == strcmp ("search", event->value.search.cctx));
169 GNUNET_assert (1 == event->value.search.anonymity); 170 GNUNET_assert (1 == event->value.search.anonymity);
170 break; 171 break;
171 case GNUNET_FS_STATUS_SEARCH_RESULT_STOPPED: 172 case GNUNET_FS_STATUS_SEARCH_RESULT_STOPPED:
diff --git a/src/include/gnunet_fs_service.h b/src/include/gnunet_fs_service.h
index 6ce4b6d11..cfba8ccba 100644
--- a/src/include/gnunet_fs_service.h
+++ b/src/include/gnunet_fs_service.h
@@ -2153,13 +2153,14 @@ GNUNET_FS_namespace_list_updateable (struct GNUNET_FS_Namespace *namespace,
2153 * @param uri specifies the search parameters; can be 2153 * @param uri specifies the search parameters; can be
2154 * a KSK URI or an SKS URI. 2154 * a KSK URI or an SKS URI.
2155 * @param anonymity desired level of anonymity 2155 * @param anonymity desired level of anonymity
2156 * @param cctx initial value for the client context
2156 * @return context that can be used to control the search 2157 * @return context that can be used to control the search
2157 */ 2158 */
2158// FIXME: add a "void *" context for the client to arguments!?
2159struct GNUNET_FS_SearchContext * 2159struct GNUNET_FS_SearchContext *
2160GNUNET_FS_search_start (struct GNUNET_FS_Handle *h, 2160GNUNET_FS_search_start (struct GNUNET_FS_Handle *h,
2161 const struct GNUNET_FS_Uri *uri, 2161 const struct GNUNET_FS_Uri *uri,
2162 uint32_t anonymity); 2162 uint32_t anonymity,
2163 void *cctx);
2163 2164
2164 2165
2165/** 2166/**