GNUnet 0.21.1
gnunet-service-set_union.h
Go to the documentation of this file.
1/*
2 This file is part of GNUnet
3 Copyright (C) 2013-2017 GNUnet e.V.
4
5 GNUnet is free software: you can redistribute it and/or modify it
6 under the terms of the GNU Affero General Public License as published
7 by the Free Software Foundation, either version 3 of the License,
8 or (at your option) any later version.
9
10 GNUnet is distributed in the hope that it will be useful, but
11 WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Affero General Public License for more details.
14
15 You should have received a copy of the GNU Affero General Public License
16 along with this program. If not, see <http://www.gnu.org/licenses/>.
17
18 SPDX-License-Identifier: AGPL3.0-or-later
19 */
26#ifndef GNUNET_SERVICE_SET_UNION_H
27#define GNUNET_SERVICE_SET_UNION_H
28
29#include "gnunet-service-set.h"
31
32
39int
41 const struct StrataEstimatorMessage *msg);
42
43
50void
52 const struct StrataEstimatorMessage *msg);
53
54
65int
66check_union_p2p_ibf (void *cls,
67 const struct IBFMessage *msg);
68
69
79void
80handle_union_p2p_ibf (void *cls,
81 const struct IBFMessage *msg);
82
83
90int
92 const struct GNUNET_SET_ElementMessage *emsg);
93
94
103void
105 const struct GNUNET_SET_ElementMessage *emsg);
106
107
114int
116 const struct GNUNET_SET_ElementMessage *emsg);
117
118
125void
127 const struct GNUNET_SET_ElementMessage *emsg);
128
129
137int
138check_union_p2p_inquiry (void *cls,
139 const struct InquiryMessage *msg);
140
141
149void
150handle_union_p2p_inquiry (void *cls,
151 const struct InquiryMessage *msg);
152
153
160void
162 const struct GNUNET_MessageHeader *mh);
163
164
171void
173 const struct GNUNET_MessageHeader *mh);
174
175
184int
185check_union_p2p_demand (void *cls,
186 const struct GNUNET_MessageHeader *mh);
187
188
196void
197handle_union_p2p_demand (void *cls,
198 const struct GNUNET_MessageHeader *mh);
199
200
208int
209check_union_p2p_offer (void *cls,
210 const struct GNUNET_MessageHeader *mh);
211
212
220void
221handle_union_p2p_offer (void *cls,
222 const struct GNUNET_MessageHeader *mh);
223
224
231void
232handle_union_p2p_done (void *cls,
233 const struct GNUNET_MessageHeader *mh);
234
241void
242handle_union_p2p_over (void *cls,
243 const struct GNUNET_MessageHeader *mh);
244
245
246#endif
struct GNUNET_MessageHeader * msg
Definition: 005.c:2
static struct GNUNET_CADET_Handle * mh
Cadet handle.
Definition: gnunet-cadet.c:92
common components for the implementation the different set operations
Peer-to-Peer messages for gnunet set.
void handle_union_p2p_strata_estimator(void *cls, const struct StrataEstimatorMessage *msg)
Handle a strata estimator from a remote peer.
void handle_union_p2p_offer(void *cls, const struct GNUNET_MessageHeader *mh)
Handle offers (of struct GNUNET_HashCodes) and respond with demands (of struct GNUNET_HashCodes).
int check_union_p2p_elements(void *cls, const struct GNUNET_SET_ElementMessage *emsg)
Check an element message from a remote peer.
void handle_union_p2p_ibf(void *cls, const struct IBFMessage *msg)
Handle an IBF message from a remote peer.
int check_union_p2p_strata_estimator(void *cls, const struct StrataEstimatorMessage *msg)
Handle a strata estimator from a remote peer.
int check_union_p2p_full_element(void *cls, const struct GNUNET_SET_ElementMessage *emsg)
Check a full element message from a remote peer.
void handle_union_p2p_full_element(void *cls, const struct GNUNET_SET_ElementMessage *emsg)
Handle an element message from a remote peer.
void handle_union_p2p_done(void *cls, const struct GNUNET_MessageHeader *mh)
Handle a done message from a remote peer.
int check_union_p2p_offer(void *cls, const struct GNUNET_MessageHeader *mh)
Check offer (of struct GNUNET_HashCodes).
void handle_union_p2p_over(void *cls, const struct GNUNET_MessageHeader *mh)
Handle an over message from a remote peer.
void handle_union_p2p_inquiry(void *cls, const struct InquiryMessage *msg)
Send offers (for GNUNET_Hash-es) in response to inquiries (for IBF_Key-s).
void handle_union_p2p_elements(void *cls, const struct GNUNET_SET_ElementMessage *emsg)
Handle an element message from a remote peer.
void handle_union_p2p_demand(void *cls, const struct GNUNET_MessageHeader *mh)
Handle a demand by the other peer for elements based on a list of struct GNUNET_HashCodes.
void handle_union_p2p_full_done(void *cls, const struct GNUNET_MessageHeader *mh)
Handle a "full done" message.
int check_union_p2p_demand(void *cls, const struct GNUNET_MessageHeader *mh)
Check a demand by the other peer for elements based on a list of struct GNUNET_HashCodes.
int check_union_p2p_ibf(void *cls, const struct IBFMessage *msg)
Check an IBF message from a remote peer.
void handle_union_p2p_request_full(void *cls, const struct GNUNET_MessageHeader *mh)
Handle a request for full set transmission.
int check_union_p2p_inquiry(void *cls, const struct InquiryMessage *msg)
Send offers (for GNUNET_Hash-es) in response to inquiries (for IBF_Key-s).
Header for all communications.
Message sent by client to the service to add or remove an element to/from the set.
Definition: set.h:281
Message containing buckets of an invertible bloom filter.
estimate_best_mode_of_operation (uint64_t avg_element_size, uint64_t local_set_size,...
Strata estimator together with the peer's overall set size.