GNUnet is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
- by the Free Software Foundation; either version 2, or (at your
+ by the Free Software Foundation; either version 3, or (at your
option) any later version.
GNUnet is distributed in the hope that it will be useful, but
#include "gnunet_time_lib.h"
#include "gnunet_dv_service.h"
#include "dv.h"
-#include "../transport/plugin_transport.h"
+#include "gnunet_transport_plugin.h"
/**
* Store ready to send messages
*/
struct GNUNET_DV_Handle
{
- /**
- * Our scheduler.
- */
- struct GNUNET_SCHEDULER_Handle *sched;
/**
* Configuration to use.
{
if (ret->client != NULL)
return GNUNET_OK;
- ret->client = GNUNET_CLIENT_connect (ret->sched, "dv", ret->cfg);
+ ret->client = GNUNET_CLIENT_connect ("dv", ret->cfg);
if (ret->client != NULL)
return GNUNET_YES;
#if DEBUG_DV_MESSAGES
*
* @param cls handle to the dv service (struct GNUNET_DV_Handle)
* @param size how many bytes can we send
- * @buf where to copy the message to send
+ * @param buf where to copy the message to send
*
* @return how many bytes we copied to buf
*/
received_msg = (struct GNUNET_DV_MessageReceived *)msg;
packed_msg_len = ntohl(received_msg->msg_len);
- sender_address_len = ntohl(received_msg->sender_address_len);
-
- GNUNET_assert(ntohs(msg->size) == (sizeof(struct GNUNET_DV_MessageReceived) + packed_msg_len + sender_address_len));
+ sender_address_len = ntohs(msg->size) - packed_msg_len - sizeof(struct GNUNET_DV_MessageReceived);
+ GNUNET_assert(sender_address_len > 0);
sender_address = GNUNET_malloc(sender_address_len);
memcpy(sender_address, &received_msg[1], sender_address_len);
packed_msg_start = (char *)&received_msg[1];
/**
* Connect to the DV service
*
- * @param sched the scheduler to use
* @param cfg the configuration to use
* @param receive_handler method call when on receipt from the service
* @param receive_handler_cls closure for receive_handler
* @return handle to the DV service
*/
struct GNUNET_DV_Handle *
-GNUNET_DV_connect (struct GNUNET_SCHEDULER_Handle *sched,
- const struct GNUNET_CONFIGURATION_Handle *cfg,
+GNUNET_DV_connect (const struct GNUNET_CONFIGURATION_Handle *cfg,
GNUNET_DV_MessageReceivedHandler receive_handler,
void *receive_handler_cls)
{
handle = GNUNET_malloc(sizeof(struct GNUNET_DV_Handle));
handle->cfg = cfg;
- handle->sched = sched;
handle->pending_list = NULL;
handle->current = NULL;
handle->th = NULL;
- handle->client = GNUNET_CLIENT_connect(sched, "dv", cfg);
+ handle->client = GNUNET_CLIENT_connect("dv", cfg);
handle->receive_handler = receive_handler;
handle->receive_cls = receive_handler_cls;