revert
[oweals/gnunet.git] / src / include / gnunet_rps_service.h
index d4cf60856f8ebcde791490d8560a7ae976d04f2a..f77c3dbc4e97cab725b76942776db38585c2687b 100644 (file)
@@ -3,7 +3,7 @@
       Copyright (C)
 
       GNUnet is free software: you can redistribute it and/or modify it
-      under the terms of the GNU General Public License as published
+      under the terms of the GNU Affero General Public License as published
       by the Free Software Foundation, either version 3 of the License,
       or (at your option) any later version.
 
@@ -11,6 +11,9 @@
       WITHOUT ANY WARRANTY; without even the implied warranty of
       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
       Affero General Public License for more details.
+     
+      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/>.
  */
 
 /**
@@ -60,15 +63,6 @@ typedef void (* GNUNET_RPS_NotifyReadyCB) (void *cls,
     uint64_t num_peers,
     const struct GNUNET_PeerIdentity *peers);
 
-/**
- * Callback called when view was updated
- *
- * @param num_peers the number of peers returned
- * @param peers array with num_peers PeerIDs
- */
-typedef void (* GNUNET_RPS_ViewUpdateCB) (void *cls,
-    uint64_t num_peers,
-    const struct GNUNET_PeerIdentity *peers);
 
 /**
  * Connect to the rps service
@@ -155,9 +149,26 @@ GNUNET_RPS_act_malicious (struct GNUNET_RPS_Handle *h,
 void
 GNUNET_RPS_view_request (struct GNUNET_RPS_Handle *rps_handle,
                          uint32_t num_updates,
-                         GNUNET_RPS_ViewUpdateCB view_update_cb,
+                         GNUNET_RPS_NotifyReadyCB view_update_cb,
                          void *cls);
 
+
+/**
+ * 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
+ */
+struct GNUNET_RPS_StreamRequestHandle *
+GNUNET_RPS_stream_request (struct GNUNET_RPS_Handle *rps_handle,
+                           uint32_t num_updates,
+                           GNUNET_RPS_NotifyReadyCB stream_input_cb,
+                           void *cls);
+
+
 /**
  * Disconnect from the rps service
  *