/*
This file is part of GNUnet.
- (C) 2012 Christian Grothoff (and other contributing authors)
+ Copyright (C) 2012 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.
*/
/**
* @brief tests for mq with connection client
*/
#include "platform.h"
-#include "gnunet_common.h"
#include "gnunet_util_lib.h"
#define PORT 23336
static struct GNUNET_SERVER_Handle *server;
-static struct GNUNET_CLIENT_Connection *client;
-
static struct GNUNET_CONFIGURATION_Handle *cfg;
static int ok;
static void
-recv_cb (void *cls, struct GNUNET_SERVER_Client *argclient,
+recv_cb (void *cls,
+ struct GNUNET_SERVER_Client *argclient,
const struct GNUNET_MessageHeader *message)
{
received++;
-
- printf ("received\n");
-
-
- if ((received == 2) && (GNUNET_YES == notify))
+ if (received == 2)
{
- printf ("done\n");
- GNUNET_SERVER_receive_done (argclient, GNUNET_NO);
+ GNUNET_SERVER_receive_done (argclient,
+ GNUNET_NO);
return;
}
static void
-clean_up (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
+clean_up (void *cls)
{
GNUNET_SERVER_destroy (server);
server = NULL;
* @param client identification of the client
*/
static void
-notify_disconnect (void *cls, struct GNUNET_SERVER_Client *client)
+notify_disconnect (void *cls,
+ struct GNUNET_SERVER_Client *client)
{
if (client == NULL)
return;
{NULL, NULL, 0, 0}
};
-void send_cb (void *cls)
+
+static void
+send_cb (void *cls)
{
/* the notify should only be called once */
GNUNET_assert (GNUNET_NO == notify);
- printf ("notify sent\n");
notify = GNUNET_YES;
}
-void test_mq (struct GNUNET_CLIENT_Connection *client)
+static void
+send_trap_cb (void *cls)
+{
+ GNUNET_assert (0);
+}
+
+
+static void
+test_mq ()
{
struct GNUNET_MQ_Handle *mq;
struct GNUNET_MQ_Envelope *mqm;
/* FIXME: test handling responses */
- mq = GNUNET_MQ_queue_for_connection_client (client, NULL, NULL);
+ mq = GNUNET_CLIENT_connecT (cfg,
+ "test",
+ NULL, NULL, NULL);
mqm = GNUNET_MQ_msg_header (MY_TYPE);
GNUNET_MQ_send (mq, mqm);
mqm = GNUNET_MQ_msg_header (MY_TYPE);
- GNUNET_MQ_notify_sent (mqm, send_cb, NULL);
+ GNUNET_MQ_notify_sent (mqm, &send_trap_cb, NULL);
GNUNET_MQ_send (mq, mqm);
+ GNUNET_MQ_send_cancel (mqm);
- /* FIXME: add a message that will be canceled */
+ mqm = GNUNET_MQ_msg_header (MY_TYPE);
+ GNUNET_MQ_notify_sent (mqm, &send_cb, NULL);
+ GNUNET_MQ_send (mq, mqm);
}
static void
-task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
+task (void *cls)
{
struct sockaddr_in sa;
struct sockaddr *sap[2];
GNUNET_CONFIGURATION_set_value_string (cfg, "test", "HOSTNAME", "localhost");
GNUNET_CONFIGURATION_set_value_string (cfg, "resolver", "HOSTNAME",
"localhost");
- client = GNUNET_CLIENT_connect ("test", cfg);
- GNUNET_assert (client != NULL);
-
- test_mq (client);
+ test_mq ();
}
NULL);
ok = 1;
GNUNET_SCHEDULER_run (&task, NULL);
+ GNUNET_assert (GNUNET_YES == notify);
return ok;
}
-