#include "platform.h"
#include "gnunet_util_lib.h"
#include "gnunet_protocols.h"
-#include "gnunet_client_lib.h"
#include "gnunet_set_service.h"
#include "set.h"
*/
struct GNUNET_SET_Handle
{
- /**
- * Client connected to the set service.
- */
- struct GNUNET_CLIENT_Connection *client;
-
/**
* Message queue for @e client.
*/
*/
struct GNUNET_SET_ListenHandle
{
- /**
- * Connection to the service.
- */
- struct GNUNET_CLIENT_Connection *client;
/**
* Message queue for the client.
/* minimum size was already checked, everything else is OK! */
return GNUNET_OK;
}
-
+
/**
* Handle element for iteration over the set. Notifies the
{
struct GNUNET_SET_Handle *set = cls;
GNUNET_SET_ElementIterator iter = set->iterator;
- struct GNUNET_SET_Element element;
+ struct GNUNET_SET_Element element;
struct GNUNET_SET_IterAckMessage *ack_msg;
struct GNUNET_MQ_Envelope *ev;
uint16_t msize;
{
struct GNUNET_SET_Handle *set = cls;
GNUNET_SET_ElementIterator iter = set->iterator;
-
+
LOG (GNUNET_ERROR_TYPE_DEBUG,
"Handling client set error %d\n",
error);
struct GNUNET_SET_CopyLazyConnectMessage *copy_msg;
set->cfg = cfg;
- set->client = GNUNET_CLIENT_connect ("set", cfg);
- if (NULL == set->client)
+ set->mq = GNUNET_CLIENT_connecT (cfg,
+ "set",
+ mq_handlers,
+ &handle_client_set_error,
+ set);
+ if (NULL == set->mq)
{
GNUNET_free (set);
return NULL;
}
- set->mq = GNUNET_MQ_queue_for_connection_client (set->client,
- mq_handlers,
- &handle_client_set_error,
- set);
- GNUNET_assert (NULL != set->mq);
-
if (NULL == cookie)
{
LOG (GNUNET_ERROR_TYPE_DEBUG,
}
LOG (GNUNET_ERROR_TYPE_DEBUG,
"Really destroying set\n");
- if (NULL != set->client)
- {
- GNUNET_CLIENT_disconnect (set->client);
- set->client = NULL;
- }
if (NULL != set->mq)
{
GNUNET_MQ_destroy (set->mq);
LOG (GNUNET_ERROR_TYPE_DEBUG,
"Listener broke down (%d), re-connecting\n",
(int) error);
- GNUNET_CLIENT_disconnect (lh->client);
- lh->client = NULL;
GNUNET_MQ_destroy (lh->mq);
lh->mq = NULL;
lh->reconnect_task = GNUNET_SCHEDULER_add_delayed (lh->reconnect_backoff,
*/
static void
listen_connect (void *cls)
-{
+{
GNUNET_MQ_hd_var_size (request,
GNUNET_MESSAGE_TYPE_SET_REQUEST,
struct GNUNET_SET_RequestMessage);
struct GNUNET_SET_ListenMessage *msg;
lh->reconnect_task = NULL;
- GNUNET_assert (NULL == lh->client);
- lh->client = GNUNET_CLIENT_connect ("set", lh->cfg);
- if (NULL == lh->client)
- return;
GNUNET_assert (NULL == lh->mq);
- lh->mq = GNUNET_MQ_queue_for_connection_client (lh->client,
- mq_handlers,
- &handle_client_listener_error,
- lh);
+ lh->mq = GNUNET_CLIENT_connecT (lh->cfg,
+ "set",
+ mq_handlers,
+ &handle_client_listener_error,
+ lh);
+ if (NULL == lh->mq)
+ return;
mqm = GNUNET_MQ_msg (msg, GNUNET_MESSAGE_TYPE_SET_LISTEN);
msg->operation = htonl (lh->operation);
msg->app_id = lh->app_id;
- GNUNET_MQ_send (lh->mq, mqm);
+ GNUNET_MQ_send (lh->mq,
+ mqm);
}
lh->app_id = *app_id;
lh->reconnect_backoff = GNUNET_TIME_UNIT_MILLISECONDS;
listen_connect (lh);
- if (NULL == lh->client)
+ if (NULL == lh->mq)
{
GNUNET_free (lh);
return NULL;
GNUNET_MQ_destroy (lh->mq);
lh->mq = NULL;
}
- if (NULL != lh->client)
- {
- GNUNET_CLIENT_disconnect (lh->client);
- lh->client = NULL;
- }
if (NULL != lh->reconnect_task)
{
GNUNET_SCHEDULER_cancel (lh->reconnect_task);