gnunet

Main GNUnet Logic
Log | Files | Refs | Submodules | README | LICENSE

commit fa4a75ba2ddcf893cb7ee45c4b5f8b88af5dd344
parent 4d16dd35e67216b69a7d49d967ccdebcd1238344
Author: Florian Dold <florian.dold@gmail.com>
Date:   Tue, 23 Jul 2013 21:45:32 +0000

- extract context msg correctly

Diffstat:
Msrc/set/gnunet-service-set.c | 10+++++++---
Msrc/set/gnunet-service-set_union.c | 6+++++-
Msrc/set/test_set_api.c | 10+++++++++-
3 files changed, 21 insertions(+), 5 deletions(-)

diff --git a/src/set/gnunet-service-set.c b/src/set/gnunet-service-set.c @@ -381,7 +381,8 @@ incoming_suggest (struct Incoming *incoming, struct Listener *listener) mqm = GNUNET_MQ_msg_nested_mh (cmsg, GNUNET_MESSAGE_TYPE_SET_REQUEST, incoming->spec->context_msg); GNUNET_assert (NULL != mqm); - GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "suggesting request with accept id %u\n", incoming->suggest_id); + GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "suggesting request with accept id %u\n", + incoming->suggest_id); cmsg->accept_id = htonl (incoming->suggest_id); cmsg->peer_id = incoming->spec->peer; GNUNET_MQ_send (listener->client_mq, mqm); @@ -678,6 +679,9 @@ handle_client_evaluate (void *cls, spec->peer = msg->target_peer; spec->set = set; spec->client_request_id = ntohl (msg->request_id); + spec->context_msg = GNUNET_MQ_extract_nested_mh (msg); + if (NULL != spec->context_msg) + spec->context_msg = GNUNET_copy_message (spec->context_msg); tunnel = GNUNET_MESH_tunnel_create (mesh, tc, &msg->target_peer, GNUNET_APPLICATION_TYPE_SET, @@ -940,8 +944,8 @@ dispatch_p2p_message (void *cls, ntohs (message->type)); ret = tc->vt->msg_handler (tc->op, message); GNUNET_MESH_receive_done (tunnel); - GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "handled mesh message\n"); - + GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "handled mesh message (type: %u)\n", + ntohs (message->type)); return ret; } diff --git a/src/set/gnunet-service-set_union.c b/src/set/gnunet-service-set_union.c @@ -499,12 +499,16 @@ send_operation_request (struct OperationState *eo) GNUNET_MQ_send (eo->mq, ev); if (NULL != eo->spec->context_msg) + GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "sent op request with context message\n"); + else + GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "sent op request without context message\n"); + + if (NULL != eo->spec->context_msg) { GNUNET_free (eo->spec->context_msg); eo->spec->context_msg = NULL; } - GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "sent op request\n"); } diff --git a/src/set/test_set_api.c b/src/set/test_set_api.c @@ -91,6 +91,10 @@ listen_cb (void *cls, { struct GNUNET_SET_OperationHandle *oh; + GNUNET_assert (NULL != context_msg); + + GNUNET_assert (ntohs (context_msg->type) == GNUNET_MESSAGE_TYPE_TEST); + GNUNET_log (GNUNET_ERROR_TYPE_INFO, "listen cb called\n"); GNUNET_SET_listen_cancel (listen_handle); @@ -108,10 +112,14 @@ static void start (void *cls) { struct GNUNET_SET_OperationHandle *oh; + struct GNUNET_MessageHeader context_msg; + + context_msg.size = htons (sizeof context_msg); + context_msg.type = htons (GNUNET_MESSAGE_TYPE_TEST); listen_handle = GNUNET_SET_listen (config, GNUNET_SET_OPERATION_UNION, &app_id, listen_cb, NULL); - oh = GNUNET_SET_prepare (&local_id, &app_id, NULL, 42, + oh = GNUNET_SET_prepare (&local_id, &app_id, &context_msg, 42, GNUNET_SET_RESULT_ADDED, result_cb_set1, NULL); GNUNET_SET_commit (oh, set1);