diff options
author | Florian Dold <florian.dold@gmail.com> | 2013-07-23 21:45:32 +0000 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2013-07-23 21:45:32 +0000 |
commit | fa4a75ba2ddcf893cb7ee45c4b5f8b88af5dd344 (patch) | |
tree | 6bad4012a8d9ecfa07e9aede54368d2c11b7045e /src/set | |
parent | 4d16dd35e67216b69a7d49d967ccdebcd1238344 (diff) | |
download | gnunet-fa4a75ba2ddcf893cb7ee45c4b5f8b88af5dd344.tar.gz gnunet-fa4a75ba2ddcf893cb7ee45c4b5f8b88af5dd344.zip |
- extract context msg correctly
Diffstat (limited to 'src/set')
-rw-r--r-- | src/set/gnunet-service-set.c | 10 | ||||
-rw-r--r-- | src/set/gnunet-service-set_union.c | 6 | ||||
-rw-r--r-- | src/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 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 | |||
108 | start (void *cls) | 112 | start (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); |