X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=src%2Fset%2Fgnunet-service-set_intersection.c;h=9fe1eabe64e98753f2db24796c01d7fe8431b1d1;hb=9528dcc4b739041f51ed0c8791fe34902525fac2;hp=55e66a2298cec62b3275ad4fee3c8b896e318ba2;hpb=f27338992f0a5915ee974faea05f764c2df6f584;p=oweals%2Fgnunet.git diff --git a/src/set/gnunet-service-set_intersection.c b/src/set/gnunet-service-set_intersection.c index 55e66a229..9fe1eabe6 100644 --- a/src/set/gnunet-service-set_intersection.c +++ b/src/set/gnunet-service-set_intersection.c @@ -1,6 +1,6 @@ /* This file is part of GNUnet - Copyright (C) 2013, 2014 Christian Grothoff (and other contributing authors) + Copyright (C) 2013, 2014 GNUnet e.V. GNUnet is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published @@ -59,6 +59,7 @@ enum IntersectionOperationPhase * client. */ PHASE_FINISHED + }; @@ -208,7 +209,7 @@ send_client_removed_element (struct Operation *op, rm->result_status = htons (GNUNET_SET_STATUS_OK); rm->request_id = htonl (op->spec->client_request_id); rm->element_type = element->element_type; - memcpy (&rm[1], + GNUNET_memcpy (&rm[1], element->data, element->size); GNUNET_MQ_send (op->spec->set->client_mq, @@ -239,8 +240,7 @@ filtered_map_initialization (void *cls, GNUNET_h2s (&ee->element_hash), ee->element.size); - if ( (op->generation_created < ee->generation_removed) && - (op->generation_created >= ee->generation_added) ) + if (GNUNET_NO == _GSS_is_element_of_operation (ee, op)) { GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Reduced initialization, not starting with %s:%u (wrong generation)\n", @@ -483,7 +483,7 @@ send_bloomfilter (struct Operation *op) ev = GNUNET_MQ_msg_extra (msg, chunk_size, GNUNET_MESSAGE_TYPE_SET_INTERSECTION_P2P_BF); - memcpy (&msg[1], + GNUNET_memcpy (&msg[1], &bf_data[offset], chunk_size); offset += chunk_size; @@ -567,7 +567,7 @@ send_remaining_elements (void *cls) rm->result_status = htons (GNUNET_SET_STATUS_OK); rm->request_id = htonl (op->spec->client_request_id); rm->element_type = element->element_type; - memcpy (&rm[1], + GNUNET_memcpy (&rm[1], element->data, element->size); GNUNET_MQ_notify_sent (ev, @@ -617,7 +617,7 @@ process_bf (struct Operation *op) op->state->phase, op->spec->remote_element_count, op->state->my_element_count, - GNUNET_CONTAINER_multihashmap_size (op->spec->set->elements)); + GNUNET_CONTAINER_multihashmap_size (op->spec->set->content->elements)); switch (op->state->phase) { case PHASE_INITIAL: @@ -631,7 +631,7 @@ process_bf (struct Operation *op) = GNUNET_CONTAINER_multihashmap_create (op->spec->remote_element_count, GNUNET_YES); op->state->my_element_count = 0; - GNUNET_CONTAINER_multihashmap_iterate (op->spec->set->elements, + GNUNET_CONTAINER_multihashmap_iterate (op->spec->set->content->elements, &filtered_map_initialization, op); break; @@ -744,7 +744,7 @@ handle_p2p_bf (void *cls, return; } } - memcpy (&op->state->bf_data[op->state->bf_data_offset], + GNUNET_memcpy (&op->state->bf_data[op->state->bf_data_offset], (const char*) &msg[1], chunk_size); op->state->bf_data_offset += chunk_size; @@ -786,8 +786,7 @@ initialize_map_unfiltered (void *cls, struct ElementEntry *ee = value; struct Operation *op = cls; - if ( (op->generation_created < ee->generation_removed) && - (op->generation_created >= ee->generation_added) ) + if (GNUNET_NO == _GSS_is_element_of_operation (ee, op)) return GNUNET_YES; /* element not live in operation's generation */ GNUNET_CRYPTO_hash_xor (&op->state->my_xor, &ee->element_hash, @@ -840,7 +839,7 @@ begin_bf_exchange (struct Operation *op) op->state->my_elements = GNUNET_CONTAINER_multihashmap_create (op->state->my_element_count, GNUNET_YES); - GNUNET_CONTAINER_multihashmap_iterate (op->spec->set->elements, + GNUNET_CONTAINER_multihashmap_iterate (op->spec->set->content->elements, &initialize_map_unfiltered, op); send_bloomfilter (op); @@ -1033,11 +1032,10 @@ intersection_evaluate (struct Operation *op, { /* the context message is too large!? */ GNUNET_break (0); - GNUNET_SERVER_client_disconnect (op->spec->set->client); + GNUNET_SERVICE_client_drop (op->spec->set->client); return; } msg->operation = htonl (GNUNET_SET_OPERATION_INTERSECTION); - msg->app_id = op->spec->app_id; msg->element_count = htonl (op->state->my_element_count); GNUNET_MQ_send (op->mq, ev);