/*
This file is part of GNUnet.
- (C) 2004, 2005, 2006, 2008, 2009, 2010 Christian Grothoff (and other contributing authors)
+ Copyright (C) 2004, 2005, 2006, 2008, 2009, 2010 GNUnet e.V.
GNUnet is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
You should have received a copy of the GNU General Public License
along with GNUnet; see the file COPYING. If not, write to the
- Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA.
+ Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
*/
/**
* @file fs/test_fs_publish_persistence.c
static int err;
-static GNUNET_SCHEDULER_TaskIdentifier rtask;
+static struct GNUNET_SCHEDULER_Task *rtask;
static void
-abort_publish_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
+abort_publish_task (void *cls)
{
GNUNET_FS_publish_stop (publish);
publish = NULL;
fn2 = NULL;
GNUNET_FS_stop (fs);
fs = NULL;
- if (GNUNET_SCHEDULER_NO_TASK != rtask)
+ if (NULL != rtask)
{
GNUNET_SCHEDULER_cancel (rtask);
- rtask = GNUNET_SCHEDULER_NO_TASK;
+ rtask = NULL;
}
}
static void
-restart_fs_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
+restart_fs_task (void *cls)
{
- rtask = GNUNET_SCHEDULER_NO_TASK;
+ rtask = NULL;
GNUNET_FS_stop (fs);
- fs = GNUNET_FS_start (cfg, "test-fs-publish-persistence", &progress_cb, NULL,
- GNUNET_FS_FLAGS_PERSISTENCE, GNUNET_FS_OPTIONS_END);
+ fs = GNUNET_FS_start (cfg, "test-fs-publish-persistence",
+ &progress_cb, NULL,
+ GNUNET_FS_FLAGS_PERSISTENCE,
+ GNUNET_FS_OPTIONS_END);
}
static void *
-progress_cb (void *cls, const struct GNUNET_FS_ProgressInfo *event)
+progress_cb (void *cls,
+ const struct GNUNET_FS_ProgressInfo *event)
{
void *ret;
consider_restart (event->status);
ret = event->value.publish.cctx;
printf ("Publish complete, %llu kbps.\n",
- (unsigned long long) (FILESIZE * 1000LL /
+ (unsigned long long) (FILESIZE * 1000000LL /
(1 +
GNUNET_TIME_absolute_get_duration
- (start).rel_value) / 1024));
- if (0 == strcmp ("publish-context-dir", event->value.publish.cctx))
+ (start).rel_value_us) / 1024));
+ if ( (NULL != event->value.publish.cctx) &&
+ (0 == strcmp ("publish-context-dir", event->value.publish.cctx)) )
GNUNET_SCHEDULER_add_now (&abort_publish_task, NULL);
break;
+ case GNUNET_FS_STATUS_PUBLISH_PROGRESS_DIRECTORY:
+ ret = event->value.publish.cctx;
+ return ret;
case GNUNET_FS_STATUS_PUBLISH_PROGRESS:
consider_restart (event->status);
ret = event->value.publish.cctx;
break;
case GNUNET_FS_STATUS_PUBLISH_STOPPED:
consider_restart (event->status);
- if (0 == strcmp ("publish-context-dir", event->value.publish.cctx))
+ if ( (NULL != event->value.publish.cctx) &&
+ (0 == strcmp ("publish-context-dir", event->value.publish.cctx)) )
GNUNET_assert (publish == event->value.publish.pc);
break;
default:
static void
-run (void *cls,
+run (void *cls,
const struct GNUNET_CONFIGURATION_Handle *c,
struct GNUNET_TESTING_Peer *peer)
{