projects
/
oweals
/
gnunet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
skeleton for TCP communicator
[oweals/gnunet.git]
/
src
/
include
/
gnunet_rps_service.h
diff --git
a/src/include/gnunet_rps_service.h
b/src/include/gnunet_rps_service.h
index 252188c627a5cb57ae5d2fef710c2bfdfcebc717..8ae9f1e936fc56b21fa5cd2f4eafb7122ccd3317 100644
(file)
--- a/
src/include/gnunet_rps_service.h
+++ b/
src/include/gnunet_rps_service.h
@@
-14,6
+14,8
@@
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+ SPDX-License-Identifier: AGPL3.0-or-later
*/
/**
*/
/**
@@
-63,32
+65,38
@@
typedef void (* GNUNET_RPS_NotifyReadyCB) (void *cls,
uint64_t num_peers,
const struct GNUNET_PeerIdentity *peers);
uint64_t num_peers,
const struct GNUNET_PeerIdentity *peers);
+
/**
/**
- * C
allback called when view was updated
+ * C
onnect to the rps service
*
*
- * @param
num_peers the number of peers returned
- * @
param peers array with num_peers PeerIDs
+ * @param
cfg configuration to use
+ * @
return handle to the rps service
*/
*/
-typedef void (* GNUNET_RPS_ViewUpdateCB) (void *cls,
- uint64_t num_peers,
- const struct GNUNET_PeerIdentity *peers);
+ struct GNUNET_RPS_Handle *
+GNUNET_RPS_connect (const struct GNUNET_CONFIGURATION_Handle *cfg);
+
/**
/**
- *
Callback called when a peer from the biased stream was received
+ *
@brief Start a sub with the given shared value
*
*
- * @param peer The received peer
+ * @param h Handle to rps
+ * @param shared_value The shared value that defines the members of the sub (-gorup)
*/
*/
-typedef void (* GNUNET_RPS_StreamInputCB) (void *cls,
- const struct GNUNET_PeerIdentity *peer);
+void
+GNUNET_RPS_sub_start (struct GNUNET_RPS_Handle *h,
+ const char *shared_value);
+
/**
/**
- *
Connect to the rps servic
e
+ *
@brief Stop a sub with the given shared valu
e
*
*
- * @param
cfg configuration to use
- * @
return handle to the rps service
+ * @param
h Handle to rps
+ * @
param shared_value The shared value that defines the members of the sub (-gorup)
*/
*/
- struct GNUNET_RPS_Handle *
-GNUNET_RPS_connect (const struct GNUNET_CONFIGURATION_Handle *cfg);
+void
+GNUNET_RPS_sub_stop (struct GNUNET_RPS_Handle *h,
+ const char *shared_value);
+
/**
* Request n random peers.
/**
* Request n random peers.
@@
-166,7
+174,7
@@
GNUNET_RPS_act_malicious (struct GNUNET_RPS_Handle *h,
void
GNUNET_RPS_view_request (struct GNUNET_RPS_Handle *rps_handle,
uint32_t num_updates,
void
GNUNET_RPS_view_request (struct GNUNET_RPS_Handle *rps_handle,
uint32_t num_updates,
- GNUNET_RPS_
ViewUpdate
CB view_update_cb,
+ GNUNET_RPS_
NotifyReady
CB view_update_cb,
void *cls);
void *cls);
@@
-174,18
+182,24
@@
GNUNET_RPS_view_request (struct GNUNET_RPS_Handle *rps_handle,
* Request biased stream of peers that are being put into the sampler
*
* @param rps_handle handle to the rps service
* Request biased stream of peers that are being put into the sampler
*
* @param rps_handle handle to the rps service
- * @param num_req_peers number of peers we want to receive
- * (0 for infinite updates)
* @param cls a closure that will be given to the callback
* @param ready_cb the callback called when the peers are available
*/
* @param cls a closure that will be given to the callback
* @param ready_cb the callback called when the peers are available
*/
-void
+struct GNUNET_RPS_StreamRequestHandle *
GNUNET_RPS_stream_request (struct GNUNET_RPS_Handle *rps_handle,
GNUNET_RPS_stream_request (struct GNUNET_RPS_Handle *rps_handle,
- uint32_t num_updates,
- GNUNET_RPS_StreamInputCB stream_input_cb,
+ GNUNET_RPS_NotifyReadyCB stream_input_cb,
void *cls);
void *cls);
+/**
+ * @brief Cancel a specific request for updates from the biased peer stream
+ *
+ * @param srh The request handle to cancel
+ */
+void
+GNUNET_RPS_stream_cancel (struct GNUNET_RPS_StreamRequestHandle *srh);
+
+
/**
* Disconnect from the rps service
*
/**
* Disconnect from the rps service
*