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. More... | |
void | handle_intersection_p2p_bf (void *cls, const struct BFMessage *msg) |
Handle an BF message from a remote peer. More... | |
void | handle_intersection_p2p_element_info (void *cls, const struct IntersectionElementInfoMessage *msg) |
Handle the initial struct IntersectionElementInfoMessage from a remote peer. More... | |
void | handle_intersection_p2p_done (void *cls, const struct IntersectionDoneMessage *idm) |
Handle a done message from a remote peer. More... | |
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().