diff options
Diffstat (limited to 'src/fs/test_fs_download.c')
-rw-r--r-- | src/fs/test_fs_download.c | 68 |
1 files changed, 39 insertions, 29 deletions
diff --git a/src/fs/test_fs_download.c b/src/fs/test_fs_download.c index dbdc12fec..ffb90d678 100644 --- a/src/fs/test_fs_download.c +++ b/src/fs/test_fs_download.c | |||
@@ -69,6 +69,24 @@ static struct GNUNET_FS_PublishContext *publish; | |||
69 | static char *fn; | 69 | static char *fn; |
70 | 70 | ||
71 | 71 | ||
72 | static void | ||
73 | abort_download_task (void *cls, | ||
74 | const struct GNUNET_SCHEDULER_TaskContext *tc) | ||
75 | { | ||
76 | GNUNET_FS_download_stop (download, GNUNET_YES); | ||
77 | download = NULL; | ||
78 | } | ||
79 | |||
80 | |||
81 | static void | ||
82 | abort_publish_task (void *cls, | ||
83 | const struct GNUNET_SCHEDULER_TaskContext *tc) | ||
84 | { | ||
85 | GNUNET_FS_publish_stop (publish); | ||
86 | publish = NULL; | ||
87 | } | ||
88 | |||
89 | |||
72 | static void * | 90 | static void * |
73 | progress_cb (void *cls, | 91 | progress_cb (void *cls, |
74 | const struct GNUNET_FS_ProgressInfo *event) | 92 | const struct GNUNET_FS_ProgressInfo *event) |
@@ -76,14 +94,8 @@ progress_cb (void *cls, | |||
76 | 94 | ||
77 | switch (event->status) | 95 | switch (event->status) |
78 | { | 96 | { |
79 | case GNUNET_FS_STATUS_DOWNLOAD_SUSPEND: | ||
80 | GNUNET_break (0); | ||
81 | break; | ||
82 | case GNUNET_FS_STATUS_DOWNLOAD_RESUME: | ||
83 | GNUNET_break (0); | ||
84 | break; | ||
85 | case GNUNET_FS_STATUS_PUBLISH_PROGRESS: | 97 | case GNUNET_FS_STATUS_PUBLISH_PROGRESS: |
86 | #if DEBUG_VERBOSE > 1 | 98 | #if DEBUG_VERBOSE |
87 | printf ("Publish is progressing (%llu/%llu)...\n", | 99 | printf ("Publish is progressing (%llu/%llu)...\n", |
88 | (unsigned long long) event->value.publish.completed, | 100 | (unsigned long long) event->value.publish.completed, |
89 | (unsigned long long) event->value.publish.size); | 101 | (unsigned long long) event->value.publish.size); |
@@ -115,35 +127,39 @@ progress_cb (void *cls, | |||
115 | download = NULL; | 127 | download = NULL; |
116 | break; | 128 | break; |
117 | case GNUNET_FS_STATUS_DOWNLOAD_PROGRESS: | 129 | case GNUNET_FS_STATUS_DOWNLOAD_PROGRESS: |
118 | #if DEBUG_VERBOSE > 1 | 130 | #if DEBUG_VERBOSE |
119 | printf ("Download is progressing (%llu/%llu)...\n", | 131 | printf ("Download is progressing (%llu/%llu)...\n", |
120 | (unsigned long long) event->value.download.completed, | 132 | (unsigned long long) event->value.download.completed, |
121 | (unsigned long long) event->value.download.size); | 133 | (unsigned long long) event->value.download.size); |
122 | #endif | 134 | #endif |
123 | break; | 135 | break; |
124 | case GNUNET_FS_STATUS_UNINDEX_PROGRESS: | ||
125 | GNUNET_break (0); | ||
126 | break; | ||
127 | case GNUNET_FS_STATUS_UNINDEX_COMPLETED: | ||
128 | GNUNET_break (0); | ||
129 | break; | ||
130 | case GNUNET_FS_STATUS_UNINDEX_ERROR: | ||
131 | GNUNET_break (0); | ||
132 | case GNUNET_FS_STATUS_PUBLISH_ERROR: | 136 | case GNUNET_FS_STATUS_PUBLISH_ERROR: |
137 | fprintf (stderr, | ||
138 | "Error publishing file: %s\n", | ||
139 | event->value.publish.specifics.error.message); | ||
133 | GNUNET_break (0); | 140 | GNUNET_break (0); |
134 | case GNUNET_FS_STATUS_DOWNLOAD_ERROR: | 141 | GNUNET_SCHEDULER_add_continuation (sched, |
135 | GNUNET_break (0); | 142 | GNUNET_NO, |
136 | break; | 143 | &abort_publish_task, |
137 | case GNUNET_FS_STATUS_UNINDEX_SUSPEND: | 144 | NULL, |
138 | GNUNET_break (0); | 145 | GNUNET_SCHEDULER_REASON_PREREQ_DONE); |
139 | break; | 146 | break; |
140 | case GNUNET_FS_STATUS_PUBLISH_SUSPEND: | 147 | case GNUNET_FS_STATUS_DOWNLOAD_ERROR: |
141 | GNUNET_break (0); | 148 | fprintf (stderr, |
149 | "Error downloading file: %s\n", | ||
150 | event->value.download.specifics.error.message); | ||
151 | GNUNET_SCHEDULER_add_continuation (sched, | ||
152 | GNUNET_NO, | ||
153 | &abort_download_task, | ||
154 | NULL, | ||
155 | GNUNET_SCHEDULER_REASON_PREREQ_DONE); | ||
142 | break; | 156 | break; |
143 | case GNUNET_FS_STATUS_PUBLISH_START: | 157 | case GNUNET_FS_STATUS_PUBLISH_START: |
144 | /* FIXME: add checks here... */ | 158 | /* FIXME: add checks here... */ |
159 | break; | ||
145 | case GNUNET_FS_STATUS_PUBLISH_STOPPED: | 160 | case GNUNET_FS_STATUS_PUBLISH_STOPPED: |
146 | /* FIXME: add checks here... */ | 161 | /* FIXME: add checks here... */ |
162 | break; | ||
147 | case GNUNET_FS_STATUS_DOWNLOAD_START: | 163 | case GNUNET_FS_STATUS_DOWNLOAD_START: |
148 | /* FIXME: add checks here... */ | 164 | /* FIXME: add checks here... */ |
149 | break; | 165 | break; |
@@ -152,12 +168,6 @@ progress_cb (void *cls, | |||
152 | GNUNET_FS_stop (fs); | 168 | GNUNET_FS_stop (fs); |
153 | fs = NULL; | 169 | fs = NULL; |
154 | break; | 170 | break; |
155 | case GNUNET_FS_STATUS_UNINDEX_START: | ||
156 | GNUNET_break (0); | ||
157 | break; | ||
158 | case GNUNET_FS_STATUS_UNINDEX_STOPPED: | ||
159 | GNUNET_break (0); | ||
160 | break; | ||
161 | default: | 171 | default: |
162 | printf ("Unexpected event: %d\n", | 172 | printf ("Unexpected event: %d\n", |
163 | event->status); | 173 | event->status); |