/*
This file is part of GNUnet.
- (C) 2013 Christian Grothoff (and other contributing authors)
+ Copyright (C) 2013 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.
*/
/**
/**
* Our primary task for the HTTPD.
*/
-static GNUNET_SCHEDULER_TaskIdentifier http_task;
+static struct GNUNET_SCHEDULER_Task * http_task;
/**
* Our main website.
* Main request handler.
*/
static int
-access_handler_callback (void *cls, struct MHD_Connection *connection,
- const char *url, const char *method,
- const char *version, const char *upload_data,
- size_t * upload_data_size, void **con_cls)
+access_handler_callback (void *cls,
+ struct MHD_Connection *connection,
+ const char *url,
+ const char *method,
+ const char *version,
+ const char *upload_data,
+ size_t * upload_data_size,
+ void **con_cls)
{
static int dummy;
static const struct Entry map[] = {
* Function that queries MHD's select sets and
* starts the task waiting for them.
*/
-static GNUNET_SCHEDULER_TaskIdentifier
+static struct GNUNET_SCHEDULER_Task *
prepare_daemon (struct MHD_Daemon *daemon_handle);
* and schedule the next run.
*/
static void
-run_daemon (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
+run_daemon (void *cls)
{
struct MHD_Daemon *daemon_handle = cls;
- http_task = GNUNET_SCHEDULER_NO_TASK;
- if (0 != (tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN))
- return;
+ http_task = NULL;
GNUNET_assert (MHD_YES == MHD_run (daemon_handle));
http_task = prepare_daemon (daemon_handle);
}
* Function that queries MHD's select sets and
* starts the task waiting for them.
*/
-static GNUNET_SCHEDULER_TaskIdentifier
+static struct GNUNET_SCHEDULER_Task *
prepare_daemon (struct MHD_Daemon *daemon_handle)
{
- GNUNET_SCHEDULER_TaskIdentifier ret;
+ struct GNUNET_SCHEDULER_Task * ret;
fd_set rs;
fd_set ws;
fd_set es;
if ((0 == port) || (port > UINT16_MAX))
{
GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
- _("Invalid port number %llu. Exiting.\n"),
+ _("Invalid port number %u. Exiting.\n"),
port);
return GNUNET_SYSERR;
}
GNUNET_log (GNUNET_ERROR_TYPE_INFO,
- _("Businesscard HTTP server starts on %llu\n"),
+ _("Businesscard HTTP server starts on %u\n"),
port);
daemon_handle = MHD_start_daemon (MHD_USE_DUAL_STACK | MHD_USE_DEBUG,
(uint16_t) port,
* Stop HTTP server.
*/
static void
-server_stop (void *cls,
- const struct GNUNET_SCHEDULER_TaskContext *tc)
+server_stop (void *cls)
{
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"HTTP server shutdown\n");
- if (GNUNET_SCHEDULER_NO_TASK != http_task)
+ if (NULL != http_task)
{
GNUNET_SCHEDULER_cancel (http_task);
- http_task = GNUNET_SCHEDULER_NO_TASK;
+ http_task = NULL;
}
if (NULL != daemon_handle)
{
if (GNUNET_OK !=
server_start ())
return;
- GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_FOREVER_REL,
- &server_stop,
- NULL);
+ GNUNET_SCHEDULER_add_shutdown (&server_stop,
+ NULL);
}