aboutsummaryrefslogtreecommitdiff
path: root/src/fs/test_fs_download.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/fs/test_fs_download.c')
-rw-r--r--src/fs/test_fs_download.c68
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;
69static char *fn; 69static char *fn;
70 70
71 71
72static void
73abort_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
81static void
82abort_publish_task (void *cls,
83 const struct GNUNET_SCHEDULER_TaskContext *tc)
84{
85 GNUNET_FS_publish_stop (publish);
86 publish = NULL;
87}
88
89
72static void * 90static void *
73progress_cb (void *cls, 91progress_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);