two-peer set operations More...
#include "gnunet-service-set.h"Go to the source code of this file.
Functions | |
| int | check_intersection_p2p_bf (void *cls, const struct BFMessage *msg) |
| Check an BF message from a remote peer. | |
| void | handle_intersection_p2p_bf (void *cls, const struct BFMessage *msg) |
| Handle an BF message from a remote peer. | |
| void | handle_intersection_p2p_element_info (void *cls, const struct IntersectionElementInfoMessage *msg) |
Handle the initial struct IntersectionElementInfoMessage from a remote peer. | |
| void | handle_intersection_p2p_done (void *cls, const struct IntersectionDoneMessage *idm) |
| Handle a done message from a remote peer. | |
two-peer set operations
Definition in file gnunet-service-set_intersection.h.
| int check_intersection_p2p_bf | ( | void * | cls, |
| const struct BFMessage * | msg | ||
| ) |
Check an BF message from a remote peer.
| cls | the intersection operation |
| msg | the header of the message |
Definition at line 884 of file gnunet-service-set_intersection.c.
References GNUNET_break_op, GNUNET_OK, GNUNET_SET_OPERATION_INTERSECTION, GNUNET_SYSERR, and op.
| void handle_intersection_p2p_bf | ( | void * | cls, |
| const struct BFMessage * | msg | ||
| ) |
Handle an BF message from a remote peer.
| cls | the intersection operation |
| msg | the header of the message |
Definition at line 905 of file gnunet-service-set_intersection.c.
References Operation::bf_bits_per_element, fail_intersection_operation(), GNUNET_break_op, GNUNET_CADET_receive_done(), GNUNET_CONTAINER_bloomfilter_init(), GNUNET_free, GNUNET_malloc, GNUNET_memcpy, msg, op, PHASE_BF_EXCHANGE, PHASE_COUNT_SENT, PHASE_INITIAL, process_bf(), and GNUNET_MessageHeader::size.
| void handle_intersection_p2p_element_info | ( | void * | cls, |
| const struct IntersectionElementInfoMessage * | msg | ||
| ) |
Handle the initial struct IntersectionElementInfoMessage from a remote peer.
| cls | the intersection operation |
| msg | the header of the message |
Definition at line 758 of file gnunet-service-set_intersection.c.
References begin_bf_exchange(), fail_intersection_operation(), GNUNET_break, GNUNET_break_op, GNUNET_CADET_receive_done(), GNUNET_ERROR_TYPE_DEBUG, GNUNET_log, GNUNET_SET_OPERATION_INTERSECTION, msg, op, PHASE_COUNT_SENT, and PHASE_INITIAL.
| void handle_intersection_p2p_done | ( | void * | cls, |
| const struct IntersectionDoneMessage * | idm | ||
| ) |
Handle a done message from a remote peer.
| cls | the intersection operation |
| mh | the message |
| cls | the intersection operation |
| idm | the message |
Definition at line 1038 of file gnunet-service-set_intersection.c.
References IntersectionDoneMessage::element_xor_hash, fail_intersection_operation(), filter_all(), IntersectionDoneMessage::final_element_count, GNUNET_assert, GNUNET_break_op, GNUNET_CADET_receive_done(), GNUNET_CONTAINER_multihashmap_iterate(), GNUNET_CONTAINER_multihashmap_iterator_create(), GNUNET_CONTAINER_multihashmap_size(), GNUNET_ERROR_TYPE_DEBUG, GNUNET_log, GNUNET_memcmp, GNUNET_NO, GNUNET_SET_OPERATION_INTERSECTION, GNUNET_SET_RESULT_FULL, op, PHASE_BF_EXCHANGE, PHASE_DONE_RECEIVED, PHASE_FINISHED, send_client_done_and_destroy(), and send_remaining_elements().