aboutsummaryrefslogtreecommitdiff
path: root/src/fs/test_fs_download.c
diff options
context:
space:
mode:
authorNathan S. Evans <evans@in.tum.de>2010-11-05 18:21:50 +0000
committerNathan S. Evans <evans@in.tum.de>2010-11-05 18:21:50 +0000
commit75a33a1499cf60ea4364c9aa673816629a6c1413 (patch)
tree0620da4312bb04de4d7b65074fdd3b0c3dd6cc0e /src/fs/test_fs_download.c
parent7217c601ad30760872823193d62307e7a335d226 (diff)
downloadgnunet-75a33a1499cf60ea4364c9aa673816629a6c1413.tar.gz
gnunet-75a33a1499cf60ea4364c9aa673816629a6c1413.zip
big scheduler refactoring, expect some issues
Diffstat (limited to 'src/fs/test_fs_download.c')
-rw-r--r--src/fs/test_fs_download.c27
1 files changed, 8 insertions, 19 deletions
diff --git a/src/fs/test_fs_download.c b/src/fs/test_fs_download.c
index 4bcedcb4d..549a2eeed 100644
--- a/src/fs/test_fs_download.c
+++ b/src/fs/test_fs_download.c
@@ -60,8 +60,6 @@ static struct PeerContext p1;
60 60
61static struct GNUNET_TIME_Absolute start; 61static struct GNUNET_TIME_Absolute start;
62 62
63static struct GNUNET_SCHEDULER_Handle *sched;
64
65static struct GNUNET_FS_Handle *fs; 63static struct GNUNET_FS_Handle *fs;
66 64
67static struct GNUNET_FS_DownloadContext *download; 65static struct GNUNET_FS_DownloadContext *download;
@@ -127,7 +125,7 @@ abort_download_task (void *cls,
127 GNUNET_DISK_directory_remove (fn); 125 GNUNET_DISK_directory_remove (fn);
128 GNUNET_free (fn); 126 GNUNET_free (fn);
129 fn = NULL; 127 fn = NULL;
130 GNUNET_SCHEDULER_cancel (sched, timeout_kill); 128 GNUNET_SCHEDULER_cancel (timeout_kill);
131 timeout_kill = GNUNET_SCHEDULER_NO_TASK; 129 timeout_kill = GNUNET_SCHEDULER_NO_TASK;
132} 130}
133 131
@@ -168,8 +166,7 @@ progress_cb (void *cls,
168 case GNUNET_FS_STATUS_DOWNLOAD_COMPLETED: 166 case GNUNET_FS_STATUS_DOWNLOAD_COMPLETED:
169 printf ("Download complete, %llu kbps.\n", 167 printf ("Download complete, %llu kbps.\n",
170 (unsigned long long) (FILESIZE * 1000LL / (1+GNUNET_TIME_absolute_get_duration (start).rel_value) / 1024LL)); 168 (unsigned long long) (FILESIZE * 1000LL / (1+GNUNET_TIME_absolute_get_duration (start).rel_value) / 1024LL));
171 GNUNET_SCHEDULER_add_now (sched, 169 GNUNET_SCHEDULER_add_now (&abort_download_task,
172 &abort_download_task,
173 NULL); 170 NULL);
174 break; 171 break;
175 case GNUNET_FS_STATUS_DOWNLOAD_PROGRESS: 172 case GNUNET_FS_STATUS_DOWNLOAD_PROGRESS:
@@ -187,8 +184,7 @@ progress_cb (void *cls,
187 "Error publishing file: %s\n", 184 "Error publishing file: %s\n",
188 event->value.publish.specifics.error.message); 185 event->value.publish.specifics.error.message);
189 GNUNET_break (0); 186 GNUNET_break (0);
190 GNUNET_SCHEDULER_add_continuation (sched, 187 GNUNET_SCHEDULER_add_continuation (&abort_publish_task,
191 &abort_publish_task,
192 NULL, 188 NULL,
193 GNUNET_SCHEDULER_REASON_PREREQ_DONE); 189 GNUNET_SCHEDULER_REASON_PREREQ_DONE);
194 break; 190 break;
@@ -196,8 +192,7 @@ progress_cb (void *cls,
196 fprintf (stderr, 192 fprintf (stderr,
197 "Error downloading file: %s\n", 193 "Error downloading file: %s\n",
198 event->value.download.specifics.error.message); 194 event->value.download.specifics.error.message);
199 GNUNET_SCHEDULER_add_now (sched, 195 GNUNET_SCHEDULER_add_now (&abort_download_task,
200 &abort_download_task,
201 NULL); 196 NULL);
202 break; 197 break;
203 case GNUNET_FS_STATUS_DOWNLOAD_ACTIVE: 198 case GNUNET_FS_STATUS_DOWNLOAD_ACTIVE:
@@ -214,8 +209,7 @@ progress_cb (void *cls,
214 GNUNET_assert (publish == event->value.publish.pc); 209 GNUNET_assert (publish == event->value.publish.pc);
215 GNUNET_assert (FILESIZE == event->value.publish.size); 210 GNUNET_assert (FILESIZE == event->value.publish.size);
216 GNUNET_assert (1 == event->value.publish.anonymity); 211 GNUNET_assert (1 == event->value.publish.anonymity);
217 GNUNET_SCHEDULER_add_now (sched, 212 GNUNET_SCHEDULER_add_now (&stop_fs_task,
218 &stop_fs_task,
219 NULL); 213 NULL);
220 break; 214 break;
221 case GNUNET_FS_STATUS_DOWNLOAD_START: 215 case GNUNET_FS_STATUS_DOWNLOAD_START:
@@ -230,8 +224,7 @@ progress_cb (void *cls,
230 break; 224 break;
231 case GNUNET_FS_STATUS_DOWNLOAD_STOPPED: 225 case GNUNET_FS_STATUS_DOWNLOAD_STOPPED:
232 GNUNET_assert (download == event->value.download.dc); 226 GNUNET_assert (download == event->value.download.dc);
233 GNUNET_SCHEDULER_add_continuation (sched, 227 GNUNET_SCHEDULER_add_continuation (&abort_publish_task,
234 &abort_publish_task,
235 NULL, 228 NULL,
236 GNUNET_SCHEDULER_REASON_PREREQ_DONE); 229 GNUNET_SCHEDULER_REASON_PREREQ_DONE);
237 break; 230 break;
@@ -279,7 +272,6 @@ stop_arm (struct PeerContext *p)
279 272
280static void 273static void
281run (void *cls, 274run (void *cls,
282 struct GNUNET_SCHEDULER_Handle *s,
283 char *const *args, 275 char *const *args,
284 const char *cfgfile, 276 const char *cfgfile,
285 const struct GNUNET_CONFIGURATION_Handle *cfg) 277 const struct GNUNET_CONFIGURATION_Handle *cfg)
@@ -294,10 +286,8 @@ run (void *cls,
294 struct GNUNET_FS_FileInformation *fi; 286 struct GNUNET_FS_FileInformation *fi;
295 size_t i; 287 size_t i;
296 288
297 sched = s;
298 setup_peer (&p1, "test_fs_download_data.conf"); 289 setup_peer (&p1, "test_fs_download_data.conf");
299 fs = GNUNET_FS_start (sched, 290 fs = GNUNET_FS_start (cfg,
300 cfg,
301 "test-fs-download", 291 "test-fs-download",
302 &progress_cb, 292 &progress_cb,
303 NULL, 293 NULL,
@@ -322,8 +312,7 @@ run (void *cls,
322 GNUNET_FS_uri_destroy (kuri); 312 GNUNET_FS_uri_destroy (kuri);
323 GNUNET_CONTAINER_meta_data_destroy (meta); 313 GNUNET_CONTAINER_meta_data_destroy (meta);
324 GNUNET_assert (NULL != fi); 314 GNUNET_assert (NULL != fi);
325 timeout_kill = GNUNET_SCHEDULER_add_delayed (sched, 315 timeout_kill = GNUNET_SCHEDULER_add_delayed (TIMEOUT,
326 TIMEOUT,
327 &timeout_kill_task, 316 &timeout_kill_task,
328 NULL); 317 NULL);
329 start = GNUNET_TIME_absolute_get (); 318 start = GNUNET_TIME_absolute_get ();