aboutsummaryrefslogtreecommitdiff
path: root/src/set
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2013-07-23 21:45:32 +0000
committerFlorian Dold <florian.dold@gmail.com>2013-07-23 21:45:32 +0000
commitfa4a75ba2ddcf893cb7ee45c4b5f8b88af5dd344 (patch)
tree6bad4012a8d9ecfa07e9aede54368d2c11b7045e /src/set
parent4d16dd35e67216b69a7d49d967ccdebcd1238344 (diff)
downloadgnunet-fa4a75ba2ddcf893cb7ee45c4b5f8b88af5dd344.tar.gz
gnunet-fa4a75ba2ddcf893cb7ee45c4b5f8b88af5dd344.zip
- extract context msg correctly
Diffstat (limited to 'src/set')
-rw-r--r--src/set/gnunet-service-set.c10
-rw-r--r--src/set/gnunet-service-set_union.c6
-rw-r--r--src/set/test_set_api.c10
3 files changed, 21 insertions, 5 deletions
diff --git a/src/set/gnunet-service-set.c b/src/set/gnunet-service-set.c
index 8445b3799..443694d08 100644
--- 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)
381 mqm = GNUNET_MQ_msg_nested_mh (cmsg, GNUNET_MESSAGE_TYPE_SET_REQUEST, 381 mqm = GNUNET_MQ_msg_nested_mh (cmsg, GNUNET_MESSAGE_TYPE_SET_REQUEST,
382 incoming->spec->context_msg); 382 incoming->spec->context_msg);
383 GNUNET_assert (NULL != mqm); 383 GNUNET_assert (NULL != mqm);
384 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "suggesting request with accept id %u\n", incoming->suggest_id); 384 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "suggesting request with accept id %u\n",
385 incoming->suggest_id);
385 cmsg->accept_id = htonl (incoming->suggest_id); 386 cmsg->accept_id = htonl (incoming->suggest_id);
386 cmsg->peer_id = incoming->spec->peer; 387 cmsg->peer_id = incoming->spec->peer;
387 GNUNET_MQ_send (listener->client_mq, mqm); 388 GNUNET_MQ_send (listener->client_mq, mqm);
@@ -678,6 +679,9 @@ handle_client_evaluate (void *cls,
678 spec->peer = msg->target_peer; 679 spec->peer = msg->target_peer;
679 spec->set = set; 680 spec->set = set;
680 spec->client_request_id = ntohl (msg->request_id); 681 spec->client_request_id = ntohl (msg->request_id);
682 spec->context_msg = GNUNET_MQ_extract_nested_mh (msg);
683 if (NULL != spec->context_msg)
684 spec->context_msg = GNUNET_copy_message (spec->context_msg);
681 685
682 tunnel = GNUNET_MESH_tunnel_create (mesh, tc, &msg->target_peer, 686 tunnel = GNUNET_MESH_tunnel_create (mesh, tc, &msg->target_peer,
683 GNUNET_APPLICATION_TYPE_SET, 687 GNUNET_APPLICATION_TYPE_SET,
@@ -940,8 +944,8 @@ dispatch_p2p_message (void *cls,
940 ntohs (message->type)); 944 ntohs (message->type));
941 ret = tc->vt->msg_handler (tc->op, message); 945 ret = tc->vt->msg_handler (tc->op, message);
942 GNUNET_MESH_receive_done (tunnel); 946 GNUNET_MESH_receive_done (tunnel);
943 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "handled mesh message\n"); 947 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "handled mesh message (type: %u)\n",
944 948 ntohs (message->type));
945 return ret; 949 return ret;
946} 950}
947 951
diff --git a/src/set/gnunet-service-set_union.c b/src/set/gnunet-service-set_union.c
index f6360efbe..8a6bfa448 100644
--- 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)
499 GNUNET_MQ_send (eo->mq, ev); 499 GNUNET_MQ_send (eo->mq, ev);
500 500
501 if (NULL != eo->spec->context_msg) 501 if (NULL != eo->spec->context_msg)
502 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "sent op request with context message\n");
503 else
504 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "sent op request without context message\n");
505
506 if (NULL != eo->spec->context_msg)
502 { 507 {
503 GNUNET_free (eo->spec->context_msg); 508 GNUNET_free (eo->spec->context_msg);
504 eo->spec->context_msg = NULL; 509 eo->spec->context_msg = NULL;
505 } 510 }
506 511
507 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "sent op request\n");
508} 512}
509 513
510 514
diff --git a/src/set/test_set_api.c b/src/set/test_set_api.c
index 2b809c0e7..59c79ee38 100644
--- a/src/set/test_set_api.c
+++ b/src/set/test_set_api.c
@@ -91,6 +91,10 @@ listen_cb (void *cls,
91{ 91{
92 struct GNUNET_SET_OperationHandle *oh; 92 struct GNUNET_SET_OperationHandle *oh;
93 93
94 GNUNET_assert (NULL != context_msg);
95
96 GNUNET_assert (ntohs (context_msg->type) == GNUNET_MESSAGE_TYPE_TEST);
97
94 GNUNET_log (GNUNET_ERROR_TYPE_INFO, "listen cb called\n"); 98 GNUNET_log (GNUNET_ERROR_TYPE_INFO, "listen cb called\n");
95 GNUNET_SET_listen_cancel (listen_handle); 99 GNUNET_SET_listen_cancel (listen_handle);
96 100
@@ -108,10 +112,14 @@ static void
108start (void *cls) 112start (void *cls)
109{ 113{
110 struct GNUNET_SET_OperationHandle *oh; 114 struct GNUNET_SET_OperationHandle *oh;
115 struct GNUNET_MessageHeader context_msg;
116
117 context_msg.size = htons (sizeof context_msg);
118 context_msg.type = htons (GNUNET_MESSAGE_TYPE_TEST);
111 119
112 listen_handle = GNUNET_SET_listen (config, GNUNET_SET_OPERATION_UNION, 120 listen_handle = GNUNET_SET_listen (config, GNUNET_SET_OPERATION_UNION,
113 &app_id, listen_cb, NULL); 121 &app_id, listen_cb, NULL);
114 oh = GNUNET_SET_prepare (&local_id, &app_id, NULL, 42, 122 oh = GNUNET_SET_prepare (&local_id, &app_id, &context_msg, 42,
115 GNUNET_SET_RESULT_ADDED, 123 GNUNET_SET_RESULT_ADDED,
116 result_cb_set1, NULL); 124 result_cb_set1, NULL);
117 GNUNET_SET_commit (oh, set1); 125 GNUNET_SET_commit (oh, set1);