- case GNUNET_FS_STATUS_PUBLISH_PROGRESS:
-#if VERBOSE
- printf ("Publish is progressing (%llu/%llu at level %u off %llu)...\n",
- (unsigned long long) event->value.publish.completed,
- (unsigned long long) event->value.publish.size,
- event->value.publish.specifics.progress.depth,
- (unsigned long long) event->value.publish.specifics.progress.offset);
-#endif
- break;
- case GNUNET_FS_STATUS_PUBLISH_COMPLETED:
- kuri = GNUNET_FS_uri_ksk_create_from_args (1, keywords);
- start = GNUNET_TIME_absolute_get ();
- GNUNET_FS_search_start (fs,
- kuri,
- 1,
- GNUNET_FS_SEARCH_OPTION_NONE,
- "search");
- GNUNET_FS_uri_destroy (kuri);
- GNUNET_assert (search != NULL);
- break;
- case GNUNET_FS_STATUS_PUBLISH_SUSPEND:
- if (event->value.publish.sc == publish)
- publish = NULL;
- break;
- case GNUNET_FS_STATUS_PUBLISH_RESUME:
- if (NULL == publish)
- publish = event->value.publish.sc;
- break;
- case GNUNET_FS_STATUS_SEARCH_RESULT:
- /* FIXME: consider_restart (event->status); cannot be tested with
- search result since we exit here after the first one... */
-#if VERBOSE
- printf ("Search complete.\n");
-#endif
- GNUNET_SCHEDULER_add_continuation (sched,
- &abort_search_task,
- NULL,
- GNUNET_SCHEDULER_REASON_PREREQ_DONE);
- break;
- case GNUNET_FS_STATUS_PUBLISH_ERROR:
- fprintf (stderr,
- "Error publishing file: %s\n",
- event->value.publish.specifics.error.message);
- GNUNET_break (0);
- GNUNET_SCHEDULER_add_continuation (sched,
- &abort_publish_task,
- NULL,
- GNUNET_SCHEDULER_REASON_PREREQ_DONE);
- break;
- case GNUNET_FS_STATUS_SEARCH_ERROR:
- fprintf (stderr,
- "Error searching file: %s\n",
- event->value.search.specifics.error.message);
- GNUNET_SCHEDULER_add_continuation (sched,
- &abort_search_task,
- NULL,
- GNUNET_SCHEDULER_REASON_PREREQ_DONE);
- break;
- case GNUNET_FS_STATUS_SEARCH_SUSPEND:
- if (event->value.search.sc == search)
- search = NULL;
- break;
- case GNUNET_FS_STATUS_SEARCH_RESUME:
- if (NULL == search)
- {
- search = event->value.search.sc;
- return "search";
- }
- break;
- case GNUNET_FS_STATUS_PUBLISH_START:
- GNUNET_assert (0 == strcmp ("publish-context", event->value.publish.cctx));
- GNUNET_assert (NULL == event->value.publish.pctx);
- GNUNET_assert (FILESIZE == event->value.publish.size);
- GNUNET_assert (0 == event->value.publish.completed);
- GNUNET_assert (1 == event->value.publish.anonymity);
- break;
- case GNUNET_FS_STATUS_PUBLISH_STOPPED:
- GNUNET_assert (publish == event->value.publish.sc);
- GNUNET_assert (FILESIZE == event->value.publish.size);
- GNUNET_assert (1 == event->value.publish.anonymity);
- GNUNET_FS_stop (fs);
- fs = NULL;
- break;
- case GNUNET_FS_STATUS_SEARCH_START:
- consider_restart (event->status);
- GNUNET_assert (search == NULL);