GNUnet  0.20.0
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 
39 int
41  const struct StrataEstimatorMessage *msg);
42 
43 
50 void
52  const struct StrataEstimatorMessage *msg);
53 
54 
65 int
66 check_union_p2p_ibf (void *cls,
67  const struct IBFMessage *msg);
68 
69 
79 void
80 handle_union_p2p_ibf (void *cls,
81  const struct IBFMessage *msg);
82 
83 
90 int
91 check_union_p2p_elements (void *cls,
92  const struct GNUNET_SET_ElementMessage *emsg);
93 
94 
103 void
104 handle_union_p2p_elements (void *cls,
105  const struct GNUNET_SET_ElementMessage *emsg);
106 
107 
114 int
116  const struct GNUNET_SET_ElementMessage *emsg);
117 
118 
125 void
127  const struct GNUNET_SET_ElementMessage *emsg);
128 
129 
137 int
138 check_union_p2p_inquiry (void *cls,
139  const struct InquiryMessage *msg);
140 
141 
149 void
150 handle_union_p2p_inquiry (void *cls,
151  const struct InquiryMessage *msg);
152 
153 
160 void
162  const struct GNUNET_MessageHeader *mh);
163 
164 
171 void
172 handle_union_p2p_full_done (void *cls,
173  const struct GNUNET_MessageHeader *mh);
174 
175 
184 int
185 check_union_p2p_demand (void *cls,
186  const struct GNUNET_MessageHeader *mh);
187 
188 
196 void
197 handle_union_p2p_demand (void *cls,
198  const struct GNUNET_MessageHeader *mh);
199 
200 
208 int
209 check_union_p2p_offer (void *cls,
210  const struct GNUNET_MessageHeader *mh);
211 
212 
220 void
221 handle_union_p2p_offer (void *cls,
222  const struct GNUNET_MessageHeader *mh);
223 
224 
231 void
232 handle_union_p2p_done (void *cls,
233  const struct GNUNET_MessageHeader *mh);
234 
241 void
242 handle_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.